// Compiled by ClojureScript 1.10.520 {}
goog.provide('weathergen.falcon.files.mission');
goog.require('cljs.core');
goog.require('cljs.pprint');
goog.require('cljs.spec.alpha');
goog.require('clojure.set');
goog.require('clojure.string');
goog.require('octet.core');
goog.require('taoensso.timbre');
goog.require('weathergen.coordinates');
goog.require('weathergen.falcon.constants');
goog.require('weathergen.falcon.files');
goog.require('weathergen.falcon.files.images');
goog.require('weathergen.falcon.files.mission.xml');
goog.require('weathergen.filesystem');
goog.require('weathergen.lzss');
goog.require('weathergen.math');
goog.require('weathergen.progress');
goog.require('weathergen.time');
goog.require('weathergen.util');
weathergen.falcon.files.mission.Todo = cljs.core.constantly.call(null,false);
weathergen.falcon.files.mission.NonNegativeInt = 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","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","<=","cljs.core/<=",1677001748,null),(0),new cljs.core.Symbol(null,"%","%",-950237169,null)))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.integer_QMARK_,(function (p1__29200_SHARP_){
return ((0) <= p1__29200_SHARP_);
})], null),null);
weathergen.falcon.files.mission.Path = cljs.core.string_QMARK_;
weathergen.falcon.files.mission.Dir = cljs.core.string_QMARK_;
weathergen.falcon.files.mission.NotImplemented = new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"not-yet-implemented","not-yet-implemented",354832030),null], null), null);
weathergen.falcon.files.mission.VuId = 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)],[new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("int","name","int/name",1843783706),new cljs.core.Keyword("weathergen.falcon.files.mission","creator","weathergen.falcon.files.mission/creator",1711456010)], null),null,null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29201){
return cljs.core.map_QMARK_.call(null,G__29201);
}),(function (G__29201){
return cljs.core.contains_QMARK_.call(null,G__29201,new cljs.core.Keyword(null,"name","name",1843675177));
}),(function (G__29201){
return cljs.core.contains_QMARK_.call(null,G__29201,new cljs.core.Keyword(null,"creator","creator",-1069241724));
})], null),(function (G__29201){
return ((cljs.core.map_QMARK_.call(null,G__29201)) && (cljs.core.contains_QMARK_.call(null,G__29201,new cljs.core.Keyword(null,"name","name",1843675177))) && (cljs.core.contains_QMARK_.call(null,G__29201,new cljs.core.Keyword(null,"creator","creator",-1069241724))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("int","name","int/name",1843783706),new cljs.core.Keyword("weathergen.falcon.files.mission","creator","weathergen.falcon.files.mission/creator",1711456010)], null),null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"creator","creator",-1069241724)], 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(null,"name","name",1843675177))),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(null,"creator","creator",-1069241724)))], null),null]));
weathergen.falcon.files.mission.Vector3 = 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)],[new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078),new cljs.core.Keyword("weathergen.falcon.files.mission","z","weathergen.falcon.files.mission/z",908766951)], null),null,null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29202){
return cljs.core.map_QMARK_.call(null,G__29202);
}),(function (G__29202){
return cljs.core.contains_QMARK_.call(null,G__29202,new cljs.core.Keyword(null,"x","x",2099068185));
}),(function (G__29202){
return cljs.core.contains_QMARK_.call(null,G__29202,new cljs.core.Keyword(null,"y","y",-1757859776));
}),(function (G__29202){
return cljs.core.contains_QMARK_.call(null,G__29202,new cljs.core.Keyword(null,"z","z",-789527183));
})], null),(function (G__29202){
return ((cljs.core.map_QMARK_.call(null,G__29202)) && (cljs.core.contains_QMARK_.call(null,G__29202,new cljs.core.Keyword(null,"x","x",2099068185))) && (cljs.core.contains_QMARK_.call(null,G__29202,new cljs.core.Keyword(null,"y","y",-1757859776))) && (cljs.core.contains_QMARK_.call(null,G__29202,new cljs.core.Keyword(null,"z","z",-789527183))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078),new cljs.core.Keyword("weathergen.falcon.files.mission","z","weathergen.falcon.files.mission/z",908766951)], null),null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"x","x",2099068185),new cljs.core.Keyword(null,"y","y",-1757859776),new cljs.core.Keyword(null,"z","z",-789527183)], 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(null,"x","x",2099068185))),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(null,"y","y",-1757859776))),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(null,"z","z",-789527183)))], null),null]));
weathergen.falcon.files.mission.CampaignTime = 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)],[new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","day","weathergen.falcon.files.mission/day",-1704629128),new cljs.core.Keyword("weathergen.falcon.files.mission","hour","weathergen.falcon.files.mission/hour",-1046940500),new cljs.core.Keyword("weathergen.falcon.files.mission","minute","weathergen.falcon.files.mission/minute",880078185),new cljs.core.Keyword("weathergen.falcon.files.mission","second","weathergen.falcon.files.mission/second",2018499904),new cljs.core.Keyword("weathergen.falcon.files.mission","millisecond","weathergen.falcon.files.mission/millisecond",-2128287792)], null),null,null,new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29203){
return cljs.core.map_QMARK_.call(null,G__29203);
}),(function (G__29203){
return cljs.core.contains_QMARK_.call(null,G__29203,new cljs.core.Keyword(null,"day","day",-274800446));
}),(function (G__29203){
return cljs.core.contains_QMARK_.call(null,G__29203,new cljs.core.Keyword(null,"hour","hour",-555989214));
}),(function (G__29203){
return cljs.core.contains_QMARK_.call(null,G__29203,new cljs.core.Keyword(null,"minute","minute",-642875969));
}),(function (G__29203){
return cljs.core.contains_QMARK_.call(null,G__29203,new cljs.core.Keyword(null,"second","second",-444702010));
}),(function (G__29203){
return cljs.core.contains_QMARK_.call(null,G__29203,new cljs.core.Keyword(null,"millisecond","millisecond",-540123566));
})], null),(function (G__29203){
return ((cljs.core.map_QMARK_.call(null,G__29203)) && (cljs.core.contains_QMARK_.call(null,G__29203,new cljs.core.Keyword(null,"day","day",-274800446))) && (cljs.core.contains_QMARK_.call(null,G__29203,new cljs.core.Keyword(null,"hour","hour",-555989214))) && (cljs.core.contains_QMARK_.call(null,G__29203,new cljs.core.Keyword(null,"minute","minute",-642875969))) && (cljs.core.contains_QMARK_.call(null,G__29203,new cljs.core.Keyword(null,"second","second",-444702010))) && (cljs.core.contains_QMARK_.call(null,G__29203,new cljs.core.Keyword(null,"millisecond","millisecond",-540123566))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","day","weathergen.falcon.files.mission/day",-1704629128),new cljs.core.Keyword("weathergen.falcon.files.mission","hour","weathergen.falcon.files.mission/hour",-1046940500),new cljs.core.Keyword("weathergen.falcon.files.mission","minute","weathergen.falcon.files.mission/minute",880078185),new cljs.core.Keyword("weathergen.falcon.files.mission","second","weathergen.falcon.files.mission/second",2018499904),new cljs.core.Keyword("weathergen.falcon.files.mission","millisecond","weathergen.falcon.files.mission/millisecond",-2128287792)], null),null,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"day","day",-274800446),new cljs.core.Keyword(null,"hour","hour",-555989214),new cljs.core.Keyword(null,"minute","minute",-642875969),new cljs.core.Keyword(null,"second","second",-444702010),new cljs.core.Keyword(null,"millisecond","millisecond",-540123566)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 6, 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(null,"day","day",-274800446))),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(null,"hour","hour",-555989214))),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(null,"minute","minute",-642875969))),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(null,"second","second",-444702010))),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(null,"millisecond","millisecond",-540123566)))], null),null]));
weathergen.falcon.files.mission.ImageDescriptor = 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)],[new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","art-dir","weathergen.falcon.files.mission/art-dir",-1496408552),new cljs.core.Keyword("weathergen.falcon.files.mission","base","weathergen.falcon.files.mission/base",525716432),new cljs.core.Keyword("weathergen.falcon.files.mission","idx-modified","weathergen.falcon.files.mission/idx-modified",-353031638),new cljs.core.Keyword("weathergen.falcon.files.mission","idx-size","weathergen.falcon.files.mission/idx-size",117504199),new cljs.core.Keyword("weathergen.falcon.files.mission","image-data","weathergen.falcon.files.mission/image-data",1305050248),new cljs.core.Keyword("weathergen.falcon.files.mission","image-id","weathergen.falcon.files.mission/image-id",1748867389),new cljs.core.Keyword("weathergen.falcon.files.mission","resource","weathergen.falcon.files.mission/resource",-1321650618),new cljs.core.Keyword("weathergen.falcon.files.mission","rsc-modified","weathergen.falcon.files.mission/rsc-modified",-1672759696),new cljs.core.Keyword("weathergen.falcon.files.mission","rsc-size","weathergen.falcon.files.mission/rsc-size",2061102923)], null),null,null,new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29204){
return cljs.core.map_QMARK_.call(null,G__29204);
}),(function (G__29204){
return cljs.core.contains_QMARK_.call(null,G__29204,new cljs.core.Keyword(null,"art-dir","art-dir",67381390));
}),(function (G__29204){
return cljs.core.contains_QMARK_.call(null,G__29204,new cljs.core.Keyword(null,"base","base",185279322));
}),(function (G__29204){
return cljs.core.contains_QMARK_.call(null,G__29204,new cljs.core.Keyword(null,"idx-modified","idx-modified",-1917929304));
}),(function (G__29204){
return cljs.core.contains_QMARK_.call(null,G__29204,new cljs.core.Keyword(null,"idx-size","idx-size",893862481));
}),(function (G__29204){
return cljs.core.contains_QMARK_.call(null,G__29204,new cljs.core.Keyword(null,"image-data","image-data",-377483758));
}),(function (G__29204){
return cljs.core.contains_QMARK_.call(null,G__29204,new cljs.core.Keyword(null,"image-id","image-id",-988480565));
}),(function (G__29204){
return cljs.core.contains_QMARK_.call(null,G__29204,new cljs.core.Keyword(null,"resource","resource",251898836));
}),(function (G__29204){
return cljs.core.contains_QMARK_.call(null,G__29204,new cljs.core.Keyword(null,"rsc-modified","rsc-modified",-250537226));
}),(function (G__29204){
return cljs.core.contains_QMARK_.call(null,G__29204,new cljs.core.Keyword(null,"rsc-size","rsc-size",-568560687));
})], null),(function (G__29204){
return ((cljs.core.map_QMARK_.call(null,G__29204)) && (cljs.core.contains_QMARK_.call(null,G__29204,new cljs.core.Keyword(null,"art-dir","art-dir",67381390))) && (cljs.core.contains_QMARK_.call(null,G__29204,new cljs.core.Keyword(null,"base","base",185279322))) && (cljs.core.contains_QMARK_.call(null,G__29204,new cljs.core.Keyword(null,"idx-modified","idx-modified",-1917929304))) && (cljs.core.contains_QMARK_.call(null,G__29204,new cljs.core.Keyword(null,"idx-size","idx-size",893862481))) && (cljs.core.contains_QMARK_.call(null,G__29204,new cljs.core.Keyword(null,"image-data","image-data",-377483758))) && (cljs.core.contains_QMARK_.call(null,G__29204,new cljs.core.Keyword(null,"image-id","image-id",-988480565))) && (cljs.core.contains_QMARK_.call(null,G__29204,new cljs.core.Keyword(null,"resource","resource",251898836))) && (cljs.core.contains_QMARK_.call(null,G__29204,new cljs.core.Keyword(null,"rsc-modified","rsc-modified",-250537226))) && (cljs.core.contains_QMARK_.call(null,G__29204,new cljs.core.Keyword(null,"rsc-size","rsc-size",-568560687))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","art-dir","weathergen.falcon.files.mission/art-dir",-1496408552),new cljs.core.Keyword("weathergen.falcon.files.mission","base","weathergen.falcon.files.mission/base",525716432),new cljs.core.Keyword("weathergen.falcon.files.mission","idx-modified","weathergen.falcon.files.mission/idx-modified",-353031638),new cljs.core.Keyword("weathergen.falcon.files.mission","idx-size","weathergen.falcon.files.mission/idx-size",117504199),new cljs.core.Keyword("weathergen.falcon.files.mission","image-data","weathergen.falcon.files.mission/image-data",1305050248),new cljs.core.Keyword("weathergen.falcon.files.mission","image-id","weathergen.falcon.files.mission/image-id",1748867389),new cljs.core.Keyword("weathergen.falcon.files.mission","resource","weathergen.falcon.files.mission/resource",-1321650618),new cljs.core.Keyword("weathergen.falcon.files.mission","rsc-modified","weathergen.falcon.files.mission/rsc-modified",-1672759696),new cljs.core.Keyword("weathergen.falcon.files.mission","rsc-size","weathergen.falcon.files.mission/rsc-size",2061102923)], null),null,new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"art-dir","art-dir",67381390),new cljs.core.Keyword(null,"base","base",185279322),new cljs.core.Keyword(null,"idx-modified","idx-modified",-1917929304),new cljs.core.Keyword(null,"idx-size","idx-size",893862481),new cljs.core.Keyword(null,"image-data","image-data",-377483758),new cljs.core.Keyword(null,"image-id","image-id",-988480565),new cljs.core.Keyword(null,"resource","resource",251898836),new cljs.core.Keyword(null,"rsc-modified","rsc-modified",-250537226),new cljs.core.Keyword(null,"rsc-size","rsc-size",-568560687)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 10, 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(null,"art-dir","art-dir",67381390))),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(null,"base","base",185279322))),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(null,"idx-modified","idx-modified",-1917929304))),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(null,"idx-size","idx-size",893862481))),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(null,"image-data","image-data",-377483758))),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(null,"image-id","image-id",-988480565))),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(null,"resource","resource",251898836))),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(null,"rsc-modified","rsc-modified",-250537226))),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(null,"rsc-size","rsc-size",-568560687)))], null),null]));
weathergen.falcon.files.mission.ImageData = 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)],[new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","type","weathergen.falcon.files.mission/type",-1571457242),new cljs.core.Keyword("weathergen.falcon.files.images","id","weathergen.falcon.files.images/id",-1163388806),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","center","weathergen.falcon.files.mission/center",1209696646),new cljs.core.Keyword("weathergen.falcon.files.mission","size","weathergen.falcon.files.mission/size",-498942187),new cljs.core.Keyword("weathergen.falcon.files.mission","image-offset","weathergen.falcon.files.mission/image-offset",800625690),new cljs.core.Keyword("weathergen.falcon.files.mission","palette-size","weathergen.falcon.files.mission/palette-size",-119714576),new cljs.core.Keyword("weathergen.falcon.files.mission","palette-offset","weathergen.falcon.files.mission/palette-offset",-859290369)], null),null,null,new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29205){
return cljs.core.map_QMARK_.call(null,G__29205);
}),(function (G__29205){
return cljs.core.contains_QMARK_.call(null,G__29205,new cljs.core.Keyword(null,"type","type",1174270348));
}),(function (G__29205){
return cljs.core.contains_QMARK_.call(null,G__29205,new cljs.core.Keyword(null,"id","id",-1388402092));
}),(function (G__29205){
return cljs.core.contains_QMARK_.call(null,G__29205,new cljs.core.Keyword(null,"flags","flags",1775418075));
}),(function (G__29205){
return cljs.core.contains_QMARK_.call(null,G__29205,new cljs.core.Keyword(null,"center","center",-748944368));
}),(function (G__29205){
return cljs.core.contains_QMARK_.call(null,G__29205,new cljs.core.Keyword(null,"size","size",1098693007));
}),(function (G__29205){
return cljs.core.contains_QMARK_.call(null,G__29205,new cljs.core.Keyword(null,"image-offset","image-offset",-1802347612));
}),(function (G__29205){
return cljs.core.contains_QMARK_.call(null,G__29205,new cljs.core.Keyword(null,"palette-size","palette-size",-995698822));
}),(function (G__29205){
return cljs.core.contains_QMARK_.call(null,G__29205,new cljs.core.Keyword(null,"palette-offset","palette-offset",1376573573));
})], null),(function (G__29205){
return ((cljs.core.map_QMARK_.call(null,G__29205)) && (cljs.core.contains_QMARK_.call(null,G__29205,new cljs.core.Keyword(null,"type","type",1174270348))) && (cljs.core.contains_QMARK_.call(null,G__29205,new cljs.core.Keyword(null,"id","id",-1388402092))) && (cljs.core.contains_QMARK_.call(null,G__29205,new cljs.core.Keyword(null,"flags","flags",1775418075))) && (cljs.core.contains_QMARK_.call(null,G__29205,new cljs.core.Keyword(null,"center","center",-748944368))) && (cljs.core.contains_QMARK_.call(null,G__29205,new cljs.core.Keyword(null,"size","size",1098693007))) && (cljs.core.contains_QMARK_.call(null,G__29205,new cljs.core.Keyword(null,"image-offset","image-offset",-1802347612))) && (cljs.core.contains_QMARK_.call(null,G__29205,new cljs.core.Keyword(null,"palette-size","palette-size",-995698822))) && (cljs.core.contains_QMARK_.call(null,G__29205,new cljs.core.Keyword(null,"palette-offset","palette-offset",1376573573))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","type","weathergen.falcon.files.mission/type",-1571457242),new cljs.core.Keyword("weathergen.falcon.files.images","id","weathergen.falcon.files.images/id",-1163388806),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","center","weathergen.falcon.files.mission/center",1209696646),new cljs.core.Keyword("weathergen.falcon.files.mission","size","weathergen.falcon.files.mission/size",-498942187),new cljs.core.Keyword("weathergen.falcon.files.mission","image-offset","weathergen.falcon.files.mission/image-offset",800625690),new cljs.core.Keyword("weathergen.falcon.files.mission","palette-size","weathergen.falcon.files.mission/palette-size",-119714576),new cljs.core.Keyword("weathergen.falcon.files.mission","palette-offset","weathergen.falcon.files.mission/palette-offset",-859290369)], null),null,new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.Keyword(null,"center","center",-748944368),new cljs.core.Keyword(null,"size","size",1098693007),new cljs.core.Keyword(null,"image-offset","image-offset",-1802347612),new cljs.core.Keyword(null,"palette-size","palette-size",-995698822),new cljs.core.Keyword(null,"palette-offset","palette-offset",1376573573)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 9, 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(null,"type","type",1174270348))),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(null,"id","id",-1388402092))),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(null,"flags","flags",1775418075))),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(null,"center","center",-748944368))),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(null,"size","size",1098693007))),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(null,"image-offset","image-offset",-1802347612))),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(null,"palette-size","palette-size",-995698822))),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(null,"palette-offset","palette-offset",1376573573)))], null),null]));
weathergen.falcon.files.mission.CampaignBaseFields = 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)],[new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","base-flags","weathergen.falcon.files.mission/base-flags",1559416842),new cljs.core.Keyword("weathergen.falcon.files.mission","camp-id","weathergen.falcon.files.mission/camp-id",413408440),new cljs.core.Keyword("weathergen.falcon.files.mission","entity-type","weathergen.falcon.files.mission/entity-type",-427082019),new cljs.core.Keyword("weathergen.falcon.files.mission","id","weathergen.falcon.files.mission/id",9584586),new cljs.core.Keyword("weathergen.falcon.files.mission","owner","weathergen.falcon.files.mission/owner",1206032935),new cljs.core.Keyword("weathergen.falcon.files.mission","spot-time","weathergen.falcon.files.mission/spot-time",-1289121708),new cljs.core.Keyword("weathergen.falcon.files.mission","spotted","weathergen.falcon.files.mission/spotted",807895248),new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078),new cljs.core.Keyword("weathergen.falcon.files.mission","z","weathergen.falcon.files.mission/z",908766951)], null),null,null,new cljs.core.PersistentVector(null, 11, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29206){
return cljs.core.map_QMARK_.call(null,G__29206);
}),(function (G__29206){
return cljs.core.contains_QMARK_.call(null,G__29206,new cljs.core.Keyword(null,"base-flags","base-flags",-1180150392));
}),(function (G__29206){
return cljs.core.contains_QMARK_.call(null,G__29206,new cljs.core.Keyword(null,"camp-id","camp-id",618705690));
}),(function (G__29206){
return cljs.core.contains_QMARK_.call(null,G__29206,new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125));
}),(function (G__29206){
return cljs.core.contains_QMARK_.call(null,G__29206,new cljs.core.Keyword(null,"id","id",-1388402092));
}),(function (G__29206){
return cljs.core.contains_QMARK_.call(null,G__29206,new cljs.core.Keyword(null,"owner","owner",-392611939));
}),(function (G__29206){
return cljs.core.contains_QMARK_.call(null,G__29206,new cljs.core.Keyword(null,"spot-time","spot-time",644875706));
}),(function (G__29206){
return cljs.core.contains_QMARK_.call(null,G__29206,new cljs.core.Keyword(null,"spotted","spotted",183372374));
}),(function (G__29206){
return cljs.core.contains_QMARK_.call(null,G__29206,new cljs.core.Keyword(null,"x","x",2099068185));
}),(function (G__29206){
return cljs.core.contains_QMARK_.call(null,G__29206,new cljs.core.Keyword(null,"y","y",-1757859776));
}),(function (G__29206){
return cljs.core.contains_QMARK_.call(null,G__29206,new cljs.core.Keyword(null,"z","z",-789527183));
})], null),(function (G__29206){
return ((cljs.core.map_QMARK_.call(null,G__29206)) && (cljs.core.contains_QMARK_.call(null,G__29206,new cljs.core.Keyword(null,"base-flags","base-flags",-1180150392))) && (cljs.core.contains_QMARK_.call(null,G__29206,new cljs.core.Keyword(null,"camp-id","camp-id",618705690))) && (cljs.core.contains_QMARK_.call(null,G__29206,new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125))) && (cljs.core.contains_QMARK_.call(null,G__29206,new cljs.core.Keyword(null,"id","id",-1388402092))) && (cljs.core.contains_QMARK_.call(null,G__29206,new cljs.core.Keyword(null,"owner","owner",-392611939))) && (cljs.core.contains_QMARK_.call(null,G__29206,new cljs.core.Keyword(null,"spot-time","spot-time",644875706))) && (cljs.core.contains_QMARK_.call(null,G__29206,new cljs.core.Keyword(null,"spotted","spotted",183372374))) && (cljs.core.contains_QMARK_.call(null,G__29206,new cljs.core.Keyword(null,"x","x",2099068185))) && (cljs.core.contains_QMARK_.call(null,G__29206,new cljs.core.Keyword(null,"y","y",-1757859776))) && (cljs.core.contains_QMARK_.call(null,G__29206,new cljs.core.Keyword(null,"z","z",-789527183))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","base-flags","weathergen.falcon.files.mission/base-flags",1559416842),new cljs.core.Keyword("weathergen.falcon.files.mission","camp-id","weathergen.falcon.files.mission/camp-id",413408440),new cljs.core.Keyword("weathergen.falcon.files.mission","entity-type","weathergen.falcon.files.mission/entity-type",-427082019),new cljs.core.Keyword("weathergen.falcon.files.mission","id","weathergen.falcon.files.mission/id",9584586),new cljs.core.Keyword("weathergen.falcon.files.mission","owner","weathergen.falcon.files.mission/owner",1206032935),new cljs.core.Keyword("weathergen.falcon.files.mission","spot-time","weathergen.falcon.files.mission/spot-time",-1289121708),new cljs.core.Keyword("weathergen.falcon.files.mission","spotted","weathergen.falcon.files.mission/spotted",807895248),new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078),new cljs.core.Keyword("weathergen.falcon.files.mission","z","weathergen.falcon.files.mission/z",908766951)], null),null,new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"base-flags","base-flags",-1180150392),new cljs.core.Keyword(null,"camp-id","camp-id",618705690),new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125),new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"owner","owner",-392611939),new cljs.core.Keyword(null,"spot-time","spot-time",644875706),new cljs.core.Keyword(null,"spotted","spotted",183372374),new cljs.core.Keyword(null,"x","x",2099068185),new cljs.core.Keyword(null,"y","y",-1757859776),new cljs.core.Keyword(null,"z","z",-789527183)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 11, 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(null,"base-flags","base-flags",-1180150392))),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(null,"camp-id","camp-id",618705690))),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(null,"entity-type","entity-type",-1957300125))),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(null,"id","id",-1388402092))),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(null,"owner","owner",-392611939))),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(null,"spot-time","spot-time",644875706))),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(null,"spotted","spotted",183372374))),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(null,"x","x",2099068185))),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(null,"y","y",-1757859776))),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(null,"z","z",-789527183)))], null),null]));
weathergen.falcon.files.mission.Objective = cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignBaseFields","weathergen.falcon.files.mission/CampaignBaseFields",-911251124,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null, 12, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","f-status","weathergen.falcon.files.mission/f-status",-1947313271),new cljs.core.Keyword("weathergen.falcon.files.mission","first-owner","weathergen.falcon.files.mission/first-owner",-619274258),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel","weathergen.falcon.files.mission/fuel",760787687),new cljs.core.Keyword("weathergen.falcon.files.mission","last-repair","weathergen.falcon.files.mission/last-repair",-1526954899),new cljs.core.Keyword("weathergen.falcon.files.mission","links","weathergen.falcon.files.mission/links",875727916),new cljs.core.Keyword("weathergen.falcon.files.mission","losses","weathergen.falcon.files.mission/losses",-1879114985),new cljs.core.Keyword("weathergen.falcon.files.mission","name-id","weathergen.falcon.files.mission/name-id",-1810014458),new cljs.core.Keyword("weathergen.falcon.files.mission","obj-flags","weathergen.falcon.files.mission/obj-flags",693464809),new cljs.core.Keyword("weathergen.falcon.files.mission","parent","weathergen.falcon.files.mission/parent",544339251),new cljs.core.Keyword("weathergen.falcon.files.mission","priority","weathergen.falcon.files.mission/priority",1887991877),new cljs.core.Keyword("weathergen.falcon.files.mission","radar-data","weathergen.falcon.files.mission/radar-data",1026796848),new cljs.core.Keyword("weathergen.falcon.files.mission","supply","weathergen.falcon.files.mission/supply",-45632963)], null))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.CampaignBaseFields,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)],[new cljs.core.PersistentVector(null, 12, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","f-status","weathergen.falcon.files.mission/f-status",-1947313271),new cljs.core.Keyword("weathergen.falcon.files.mission","first-owner","weathergen.falcon.files.mission/first-owner",-619274258),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel","weathergen.falcon.files.mission/fuel",760787687),new cljs.core.Keyword("weathergen.falcon.files.mission","last-repair","weathergen.falcon.files.mission/last-repair",-1526954899),new cljs.core.Keyword("weathergen.falcon.files.mission","links","weathergen.falcon.files.mission/links",875727916),new cljs.core.Keyword("weathergen.falcon.files.mission","losses","weathergen.falcon.files.mission/losses",-1879114985),new cljs.core.Keyword("weathergen.falcon.files.mission","name-id","weathergen.falcon.files.mission/name-id",-1810014458),new cljs.core.Keyword("weathergen.falcon.files.mission","obj-flags","weathergen.falcon.files.mission/obj-flags",693464809),new cljs.core.Keyword("weathergen.falcon.files.mission","parent","weathergen.falcon.files.mission/parent",544339251),new cljs.core.Keyword("weathergen.falcon.files.mission","priority","weathergen.falcon.files.mission/priority",1887991877),new cljs.core.Keyword("weathergen.falcon.files.mission","radar-data","weathergen.falcon.files.mission/radar-data",1026796848),new cljs.core.Keyword("weathergen.falcon.files.mission","supply","weathergen.falcon.files.mission/supply",-45632963)], null),null,null,new cljs.core.PersistentVector(null, 13, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29207){
return cljs.core.map_QMARK_.call(null,G__29207);
}),(function (G__29207){
return cljs.core.contains_QMARK_.call(null,G__29207,new cljs.core.Keyword(null,"f-status","f-status",782756103));
}),(function (G__29207){
return cljs.core.contains_QMARK_.call(null,G__29207,new cljs.core.Keyword(null,"first-owner","first-owner",911218300));
}),(function (G__29207){
return cljs.core.contains_QMARK_.call(null,G__29207,new cljs.core.Keyword(null,"fuel","fuel",10405485));
}),(function (G__29207){
return cljs.core.contains_QMARK_.call(null,G__29207,new cljs.core.Keyword(null,"last-repair","last-repair",1138109175));
}),(function (G__29207){
return cljs.core.contains_QMARK_.call(null,G__29207,new cljs.core.Keyword(null,"links","links",-654507394));
}),(function (G__29207){
return cljs.core.contains_QMARK_.call(null,G__29207,new cljs.core.Keyword(null,"losses","losses",-189206407));
}),(function (G__29207){
return cljs.core.contains_QMARK_.call(null,G__29207,new cljs.core.Keyword(null,"name-id","name-id",-279275372));
}),(function (G__29207){
return cljs.core.contains_QMARK_.call(null,G__29207,new cljs.core.Keyword(null,"obj-flags","obj-flags",-864355993));
}),(function (G__29207){
return cljs.core.contains_QMARK_.call(null,G__29207,new cljs.core.Keyword(null,"parent","parent",-878878779));
}),(function (G__29207){
return cljs.core.contains_QMARK_.call(null,G__29207,new cljs.core.Keyword(null,"priority","priority",1431093715));
}),(function (G__29207){
return cljs.core.contains_QMARK_.call(null,G__29207,new cljs.core.Keyword(null,"radar-data","radar-data",-2114904134));
}),(function (G__29207){
return cljs.core.contains_QMARK_.call(null,G__29207,new cljs.core.Keyword(null,"supply","supply",-1701696309));
})], null),(function (G__29207){
return ((cljs.core.map_QMARK_.call(null,G__29207)) && (cljs.core.contains_QMARK_.call(null,G__29207,new cljs.core.Keyword(null,"f-status","f-status",782756103))) && (cljs.core.contains_QMARK_.call(null,G__29207,new cljs.core.Keyword(null,"first-owner","first-owner",911218300))) && (cljs.core.contains_QMARK_.call(null,G__29207,new cljs.core.Keyword(null,"fuel","fuel",10405485))) && (cljs.core.contains_QMARK_.call(null,G__29207,new cljs.core.Keyword(null,"last-repair","last-repair",1138109175))) && (cljs.core.contains_QMARK_.call(null,G__29207,new cljs.core.Keyword(null,"links","links",-654507394))) && (cljs.core.contains_QMARK_.call(null,G__29207,new cljs.core.Keyword(null,"losses","losses",-189206407))) && (cljs.core.contains_QMARK_.call(null,G__29207,new cljs.core.Keyword(null,"name-id","name-id",-279275372))) && (cljs.core.contains_QMARK_.call(null,G__29207,new cljs.core.Keyword(null,"obj-flags","obj-flags",-864355993))) && (cljs.core.contains_QMARK_.call(null,G__29207,new cljs.core.Keyword(null,"parent","parent",-878878779))) && (cljs.core.contains_QMARK_.call(null,G__29207,new cljs.core.Keyword(null,"priority","priority",1431093715))) && (cljs.core.contains_QMARK_.call(null,G__29207,new cljs.core.Keyword(null,"radar-data","radar-data",-2114904134))) && (cljs.core.contains_QMARK_.call(null,G__29207,new cljs.core.Keyword(null,"supply","supply",-1701696309))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 12, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","f-status","weathergen.falcon.files.mission/f-status",-1947313271),new cljs.core.Keyword("weathergen.falcon.files.mission","first-owner","weathergen.falcon.files.mission/first-owner",-619274258),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel","weathergen.falcon.files.mission/fuel",760787687),new cljs.core.Keyword("weathergen.falcon.files.mission","last-repair","weathergen.falcon.files.mission/last-repair",-1526954899),new cljs.core.Keyword("weathergen.falcon.files.mission","links","weathergen.falcon.files.mission/links",875727916),new cljs.core.Keyword("weathergen.falcon.files.mission","losses","weathergen.falcon.files.mission/losses",-1879114985),new cljs.core.Keyword("weathergen.falcon.files.mission","name-id","weathergen.falcon.files.mission/name-id",-1810014458),new cljs.core.Keyword("weathergen.falcon.files.mission","obj-flags","weathergen.falcon.files.mission/obj-flags",693464809),new cljs.core.Keyword("weathergen.falcon.files.mission","parent","weathergen.falcon.files.mission/parent",544339251),new cljs.core.Keyword("weathergen.falcon.files.mission","priority","weathergen.falcon.files.mission/priority",1887991877),new cljs.core.Keyword("weathergen.falcon.files.mission","radar-data","weathergen.falcon.files.mission/radar-data",1026796848),new cljs.core.Keyword("weathergen.falcon.files.mission","supply","weathergen.falcon.files.mission/supply",-45632963)], null),null,new cljs.core.PersistentVector(null, 12, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"f-status","f-status",782756103),new cljs.core.Keyword(null,"first-owner","first-owner",911218300),new cljs.core.Keyword(null,"fuel","fuel",10405485),new cljs.core.Keyword(null,"last-repair","last-repair",1138109175),new cljs.core.Keyword(null,"links","links",-654507394),new cljs.core.Keyword(null,"losses","losses",-189206407),new cljs.core.Keyword(null,"name-id","name-id",-279275372),new cljs.core.Keyword(null,"obj-flags","obj-flags",-864355993),new cljs.core.Keyword(null,"parent","parent",-878878779),new cljs.core.Keyword(null,"priority","priority",1431093715),new cljs.core.Keyword(null,"radar-data","radar-data",-2114904134),new cljs.core.Keyword(null,"supply","supply",-1701696309)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 13, 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(null,"f-status","f-status",782756103))),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(null,"first-owner","first-owner",911218300))),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(null,"fuel","fuel",10405485))),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(null,"last-repair","last-repair",1138109175))),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(null,"links","links",-654507394))),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(null,"losses","losses",-189206407))),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(null,"name-id","name-id",-279275372))),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(null,"obj-flags","obj-flags",-864355993))),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(null,"parent","parent",-878878779))),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(null,"priority","priority",1431093715))),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(null,"radar-data","radar-data",-2114904134))),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(null,"supply","supply",-1701696309)))], null),null]))], null),null);
weathergen.falcon.files.mission.Airbase = cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","Objective","weathergen.falcon.files.mission/Objective",-1296315408,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.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110)], null))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.Objective,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__29208){
return cljs.core.map_QMARK_.call(null,G__29208);
}),(function (G__29208){
return cljs.core.contains_QMARK_.call(null,G__29208,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110));
})], null),(function (G__29208){
return ((cljs.core.map_QMARK_.call(null,G__29208)) && (cljs.core.contains_QMARK_.call(null,G__29208,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110)], 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.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110)))], null),null]))], null),null);
weathergen.falcon.files.mission.Haves = cljs.spec.alpha.every_impl.call(null,cljs.core.list(new cljs.core.Symbol("s","or","s/or",1876282981,null),new cljs.core.Keyword(null,"integer","integer",-604721710),new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),new cljs.core.Keyword(null,"keyword","keyword",811389747),new cljs.core.Symbol(null,"keyword?","keyword?",1917797069,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,"integer","integer",-604721710),new cljs.core.Keyword(null,"keyword","keyword",811389747)], 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),new cljs.core.Symbol("cljs.core","keyword?","cljs.core/keyword?",713156450,null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.integer_QMARK_,cljs.core.keyword_QMARK_], null),null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),new cljs.core.Symbol("cljs.core","set?","cljs.core/set?",-1176684971,null),new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),(function (G__29209){
return cljs.core.set_QMARK_.call(null,G__29209);
}),new cljs.core.Keyword(null,"kind","kind",-717265803),cljs.core.set_QMARK_,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","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"integer","integer",-604721710),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"keyword","keyword",811389747),new cljs.core.Symbol("cljs.core","keyword?","cljs.core/keyword?",713156450,null)),new cljs.core.Keyword(null,"kind","kind",-717265803),new cljs.core.Symbol("cljs.core","set?","cljs.core/set?",-1176684971,null))], null),null);
weathergen.falcon.files.mission.InstallName = cljs.core.string_QMARK_;
weathergen.falcon.files.mission.Installs = cljs.spec.alpha.every_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","tuple","cljs.spec.alpha/tuple",-415901908,null),new cljs.core.Symbol(null,"InstallName","InstallName",1871569500,null),new cljs.core.Symbol(null,"Path","Path",545492587,null)),cljs.spec.alpha.tuple_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","InstallName","weathergen.falcon.files.mission/InstallName",-2009043770,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.InstallName,weathergen.falcon.files.mission.Path], null)),new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,"into","into",-150836029),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),(function (G__29210){
return cljs.core.map_QMARK_.call(null,G__29210);
}),new cljs.core.Keyword(null,"kind","kind",-717265803),cljs.core.map_QMARK_,new cljs.core.Keyword("cljs.spec.alpha","kfn","cljs.spec.alpha/kfn",672643897),(function (i__28412__auto__,v__28413__auto__){
return cljs.core.nth.call(null,v__28413__auto__,(0));
}),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","map-of","cljs.spec.alpha/map-of",153715093,null),new cljs.core.Symbol("weathergen.falcon.files.mission","InstallName","weathergen.falcon.files.mission/InstallName",-2009043770,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null))], null),null);
weathergen.falcon.files.mission.ObjectiveLink = 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)],[new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","costs","weathergen.falcon.files.mission/costs",436179539),new cljs.core.Keyword("map","id","map/id",-1388423944)], null),null,null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29211){
return cljs.core.map_QMARK_.call(null,G__29211);
}),(function (G__29211){
return cljs.core.contains_QMARK_.call(null,G__29211,new cljs.core.Keyword(null,"costs","costs",2093295309));
}),(function (G__29211){
return cljs.core.contains_QMARK_.call(null,G__29211,new cljs.core.Keyword(null,"id","id",-1388402092));
})], null),(function (G__29211){
return ((cljs.core.map_QMARK_.call(null,G__29211)) && (cljs.core.contains_QMARK_.call(null,G__29211,new cljs.core.Keyword(null,"costs","costs",2093295309))) && (cljs.core.contains_QMARK_.call(null,G__29211,new cljs.core.Keyword(null,"id","id",-1388402092))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","costs","weathergen.falcon.files.mission/costs",436179539),new cljs.core.Keyword("map","id","map/id",-1388423944)], null),null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"costs","costs",2093295309),new cljs.core.Keyword(null,"id","id",-1388402092)], 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(null,"costs","costs",2093295309))),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(null,"id","id",-1388402092)))], null),null]));
weathergen.falcon.files.mission.StringsData = 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)],[new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","objective-type-names","weathergen.falcon.files.mission/objective-type-names",-444295116),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-type-names","weathergen.falcon.files.mission/mission-type-names",-2042328011),new cljs.core.Keyword("weathergen.falcon.files.mission","waypoint-type-names","weathergen.falcon.files.mission/waypoint-type-names",-5154524),new cljs.core.Keyword("weathergen.falcon.files.mission","air-stype-names","weathergen.falcon.files.mission/air-stype-names",-1202476953),new cljs.core.Keyword("weathergen.falcon.files.mission","ground-stype-names","weathergen.falcon.files.mission/ground-stype-names",-2140905300),new cljs.core.Keyword("weathergen.falcon.files.mission","naval-stype-names","weathergen.falcon.files.mission/naval-stype-names",1732788513),new cljs.core.Keyword("weathergen.falcon.files.mission","country-names","weathergen.falcon.files.mission/country-names",971743511),new cljs.core.Keyword("weathergen.falcon.files.mission","time-compression-names","weathergen.falcon.files.mission/time-compression-names",-922878890),new cljs.core.Keyword("weathergen.falcon.files.mission","camera-label-names","weathergen.falcon.files.mission/camera-label-names",-1866009865),new cljs.core.Keyword("weathergen.falcon.files.mission","unit-name-format","weathergen.falcon.files.mission/unit-name-format",-1275375238)], null),null,null,new cljs.core.PersistentVector(null, 11, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29212){
return cljs.core.map_QMARK_.call(null,G__29212);
}),(function (G__29212){
return cljs.core.contains_QMARK_.call(null,G__29212,new cljs.core.Keyword(null,"objective-type-names","objective-type-names",-2115502438));
}),(function (G__29212){
return cljs.core.contains_QMARK_.call(null,G__29212,new cljs.core.Keyword(null,"mission-type-names","mission-type-names",-1426382657));
}),(function (G__29212){
return cljs.core.contains_QMARK_.call(null,G__29212,new cljs.core.Keyword(null,"waypoint-type-names","waypoint-type-names",719960758));
}),(function (G__29212){
return cljs.core.contains_QMARK_.call(null,G__29212,new cljs.core.Keyword(null,"air-stype-names","air-stype-names",-1744167443));
}),(function (G__29212){
return cljs.core.contains_QMARK_.call(null,G__29212,new cljs.core.Keyword(null,"ground-stype-names","ground-stype-names",-543566554));
}),(function (G__29212){
return cljs.core.contains_QMARK_.call(null,G__29212,new cljs.core.Keyword(null,"naval-stype-names","naval-stype-names",140822175));
}),(function (G__29212){
return cljs.core.contains_QMARK_.call(null,G__29212,new cljs.core.Keyword(null,"country-names","country-names",-1652413855));
}),(function (G__29212){
return cljs.core.contains_QMARK_.call(null,G__29212,new cljs.core.Keyword(null,"time-compression-names","time-compression-names",-311196976));
}),(function (G__29212){
return cljs.core.contains_QMARK_.call(null,G__29212,new cljs.core.Keyword(null,"camera-label-names","camera-label-names",-192056963));
}),(function (G__29212){
return cljs.core.contains_QMARK_.call(null,G__29212,new cljs.core.Keyword(null,"unit-name-format","unit-name-format",-1907370252));
})], null),(function (G__29212){
return ((cljs.core.map_QMARK_.call(null,G__29212)) && (cljs.core.contains_QMARK_.call(null,G__29212,new cljs.core.Keyword(null,"objective-type-names","objective-type-names",-2115502438))) && (cljs.core.contains_QMARK_.call(null,G__29212,new cljs.core.Keyword(null,"mission-type-names","mission-type-names",-1426382657))) && (cljs.core.contains_QMARK_.call(null,G__29212,new cljs.core.Keyword(null,"waypoint-type-names","waypoint-type-names",719960758))) && (cljs.core.contains_QMARK_.call(null,G__29212,new cljs.core.Keyword(null,"air-stype-names","air-stype-names",-1744167443))) && (cljs.core.contains_QMARK_.call(null,G__29212,new cljs.core.Keyword(null,"ground-stype-names","ground-stype-names",-543566554))) && (cljs.core.contains_QMARK_.call(null,G__29212,new cljs.core.Keyword(null,"naval-stype-names","naval-stype-names",140822175))) && (cljs.core.contains_QMARK_.call(null,G__29212,new cljs.core.Keyword(null,"country-names","country-names",-1652413855))) && (cljs.core.contains_QMARK_.call(null,G__29212,new cljs.core.Keyword(null,"time-compression-names","time-compression-names",-311196976))) && (cljs.core.contains_QMARK_.call(null,G__29212,new cljs.core.Keyword(null,"camera-label-names","camera-label-names",-192056963))) && (cljs.core.contains_QMARK_.call(null,G__29212,new cljs.core.Keyword(null,"unit-name-format","unit-name-format",-1907370252))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","objective-type-names","weathergen.falcon.files.mission/objective-type-names",-444295116),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-type-names","weathergen.falcon.files.mission/mission-type-names",-2042328011),new cljs.core.Keyword("weathergen.falcon.files.mission","waypoint-type-names","weathergen.falcon.files.mission/waypoint-type-names",-5154524),new cljs.core.Keyword("weathergen.falcon.files.mission","air-stype-names","weathergen.falcon.files.mission/air-stype-names",-1202476953),new cljs.core.Keyword("weathergen.falcon.files.mission","ground-stype-names","weathergen.falcon.files.mission/ground-stype-names",-2140905300),new cljs.core.Keyword("weathergen.falcon.files.mission","naval-stype-names","weathergen.falcon.files.mission/naval-stype-names",1732788513),new cljs.core.Keyword("weathergen.falcon.files.mission","country-names","weathergen.falcon.files.mission/country-names",971743511),new cljs.core.Keyword("weathergen.falcon.files.mission","time-compression-names","weathergen.falcon.files.mission/time-compression-names",-922878890),new cljs.core.Keyword("weathergen.falcon.files.mission","camera-label-names","weathergen.falcon.files.mission/camera-label-names",-1866009865),new cljs.core.Keyword("weathergen.falcon.files.mission","unit-name-format","weathergen.falcon.files.mission/unit-name-format",-1275375238)], null),null,new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"objective-type-names","objective-type-names",-2115502438),new cljs.core.Keyword(null,"mission-type-names","mission-type-names",-1426382657),new cljs.core.Keyword(null,"waypoint-type-names","waypoint-type-names",719960758),new cljs.core.Keyword(null,"air-stype-names","air-stype-names",-1744167443),new cljs.core.Keyword(null,"ground-stype-names","ground-stype-names",-543566554),new cljs.core.Keyword(null,"naval-stype-names","naval-stype-names",140822175),new cljs.core.Keyword(null,"country-names","country-names",-1652413855),new cljs.core.Keyword(null,"time-compression-names","time-compression-names",-311196976),new cljs.core.Keyword(null,"camera-label-names","camera-label-names",-192056963),new cljs.core.Keyword(null,"unit-name-format","unit-name-format",-1907370252)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 11, 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(null,"objective-type-names","objective-type-names",-2115502438))),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(null,"mission-type-names","mission-type-names",-1426382657))),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(null,"waypoint-type-names","waypoint-type-names",719960758))),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(null,"air-stype-names","air-stype-names",-1744167443))),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(null,"ground-stype-names","ground-stype-names",-543566554))),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(null,"naval-stype-names","naval-stype-names",140822175))),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(null,"country-names","country-names",-1652413855))),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(null,"time-compression-names","time-compression-names",-311196976))),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(null,"camera-label-names","camera-label-names",-192056963))),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(null,"unit-name-format","unit-name-format",-1907370252)))], null),null]));
weathergen.falcon.files.mission.Theater = 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)],[new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","path","weathergen.falcon.files.mission/path",-771299386),new cljs.core.Keyword("weathergen.falcon.files.mission","bitmap","weathergen.falcon.files.mission/bitmap",-1726823552),new cljs.core.Keyword("weathergen.falcon.files.mission","desc","weathergen.falcon.files.mission/desc",154230),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","art-dir","weathergen.falcon.files.mission/art-dir",-1496408552),new cljs.core.Keyword("weathergen.falcon.files.mission","campaign-dir","weathergen.falcon.files.mission/campaign-dir",-1861677221)], null),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","sim-data-dir","weathergen.falcon.files.mission/sim-data-dir",-1331304596),new cljs.core.Keyword("weathergen.falcon.files.mission","terrain-dir","weathergen.falcon.files.mission/terrain-dir",-66327300),new cljs.core.Keyword("weathergen.falcon.files.mission","misc-text-dir","weathergen.falcon.files.mission/misc-text-dir",1894523511),new cljs.core.Keyword("weathergen.falcon.files.mission","sound-dir","weathergen.falcon.files.mission/sound-dir",2134408746),new cljs.core.Keyword("weathergen.falcon.files.mission","mintacan","weathergen.falcon.files.mission/mintacan",141787016),new cljs.core.Keyword("weathergen.falcon.files.mission","doubleres2dmap","weathergen.falcon.files.mission/doubleres2dmap",-1503704738),new cljs.core.Keyword("weathergen.falcon.files.mission","magneticdeclination","weathergen.falcon.files.mission/magneticdeclination",-536185241),new cljs.core.Keyword("weathergen.falcon.files.mission","3d-data-dir","weathergen.falcon.files.mission/3d-data-dir",429028580),new cljs.core.Keyword("weathergen.falcon.files.mission","object-dir","weathergen.falcon.files.mission/object-dir",-459344762)], null),null,new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29213){
return cljs.core.map_QMARK_.call(null,G__29213);
}),(function (G__29213){
return cljs.core.contains_QMARK_.call(null,G__29213,new cljs.core.Keyword(null,"path","path",-188191168));
}),(function (G__29213){
return cljs.core.contains_QMARK_.call(null,G__29213,new cljs.core.Keyword(null,"bitmap","bitmap",-1139196926));
}),(function (G__29213){
return cljs.core.contains_QMARK_.call(null,G__29213,new cljs.core.Keyword(null,"desc","desc",2093485764));
}),(function (G__29213){
return cljs.core.contains_QMARK_.call(null,G__29213,new cljs.core.Keyword(null,"name","name",1843675177));
}),(function (G__29213){
return cljs.core.contains_QMARK_.call(null,G__29213,new cljs.core.Keyword(null,"art-dir","art-dir",67381390));
}),(function (G__29213){
return cljs.core.contains_QMARK_.call(null,G__29213,new cljs.core.Keyword(null,"campaign-dir","campaign-dir",-1278307883));
})], null),(function (G__29213){
return ((cljs.core.map_QMARK_.call(null,G__29213)) && (cljs.core.contains_QMARK_.call(null,G__29213,new cljs.core.Keyword(null,"path","path",-188191168))) && (cljs.core.contains_QMARK_.call(null,G__29213,new cljs.core.Keyword(null,"bitmap","bitmap",-1139196926))) && (cljs.core.contains_QMARK_.call(null,G__29213,new cljs.core.Keyword(null,"desc","desc",2093485764))) && (cljs.core.contains_QMARK_.call(null,G__29213,new cljs.core.Keyword(null,"name","name",1843675177))) && (cljs.core.contains_QMARK_.call(null,G__29213,new cljs.core.Keyword(null,"art-dir","art-dir",67381390))) && (cljs.core.contains_QMARK_.call(null,G__29213,new cljs.core.Keyword(null,"campaign-dir","campaign-dir",-1278307883))));
}),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"sim-data-dir","sim-data-dir",-1889768986),new cljs.core.Keyword(null,"terrain-dir","terrain-dir",-682919794),new cljs.core.Keyword(null,"misc-text-dir","misc-text-dir",-801796867),new cljs.core.Keyword(null,"sound-dir","sound-dir",604246964),new cljs.core.Keyword(null,"mintacan","mintacan",598600938),new cljs.core.Keyword(null,"doubleres2dmap","doubleres2dmap",1301921508),new cljs.core.Keyword(null,"magneticdeclination","magneticdeclination",1254877937),new cljs.core.Keyword(null,"3d-data-dir","3d-data-dir",-1538342822),new cljs.core.Keyword(null,"object-dir","object-dir",-2124784896)], null),new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","path","weathergen.falcon.files.mission/path",-771299386),new cljs.core.Keyword("weathergen.falcon.files.mission","bitmap","weathergen.falcon.files.mission/bitmap",-1726823552),new cljs.core.Keyword("weathergen.falcon.files.mission","desc","weathergen.falcon.files.mission/desc",154230),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","art-dir","weathergen.falcon.files.mission/art-dir",-1496408552),new cljs.core.Keyword("weathergen.falcon.files.mission","campaign-dir","weathergen.falcon.files.mission/campaign-dir",-1861677221)], null),null,new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.Keyword(null,"bitmap","bitmap",-1139196926),new cljs.core.Keyword(null,"desc","desc",2093485764),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"art-dir","art-dir",67381390),new cljs.core.Keyword(null,"campaign-dir","campaign-dir",-1278307883)], null),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","sim-data-dir","weathergen.falcon.files.mission/sim-data-dir",-1331304596),new cljs.core.Keyword("weathergen.falcon.files.mission","terrain-dir","weathergen.falcon.files.mission/terrain-dir",-66327300),new cljs.core.Keyword("weathergen.falcon.files.mission","misc-text-dir","weathergen.falcon.files.mission/misc-text-dir",1894523511),new cljs.core.Keyword("weathergen.falcon.files.mission","sound-dir","weathergen.falcon.files.mission/sound-dir",2134408746),new cljs.core.Keyword("weathergen.falcon.files.mission","mintacan","weathergen.falcon.files.mission/mintacan",141787016),new cljs.core.Keyword("weathergen.falcon.files.mission","doubleres2dmap","weathergen.falcon.files.mission/doubleres2dmap",-1503704738),new cljs.core.Keyword("weathergen.falcon.files.mission","magneticdeclination","weathergen.falcon.files.mission/magneticdeclination",-536185241),new cljs.core.Keyword("weathergen.falcon.files.mission","3d-data-dir","weathergen.falcon.files.mission/3d-data-dir",429028580),new cljs.core.Keyword("weathergen.falcon.files.mission","object-dir","weathergen.falcon.files.mission/object-dir",-459344762)], null),new cljs.core.PersistentVector(null, 7, 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(null,"path","path",-188191168))),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(null,"bitmap","bitmap",-1139196926))),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(null,"desc","desc",2093485764))),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(null,"name","name",1843675177))),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(null,"art-dir","art-dir",67381390))),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(null,"campaign-dir","campaign-dir",-1278307883)))], null),null]));
weathergen.falcon.files.mission.Installation = 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)],[new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","install-dir","weathergen.falcon.files.mission/install-dir",-577598648),new cljs.core.Keyword("weathergen.falcon.files.mission","data-dir","weathergen.falcon.files.mission/data-dir",1554526330),new cljs.core.Keyword("weathergen.falcon.files.mission","object-dir","weathergen.falcon.files.mission/object-dir",-459344762),new cljs.core.Keyword("weathergen.falcon.files.mission","art-dir","weathergen.falcon.files.mission/art-dir",-1496408552),new cljs.core.Keyword("weathergen.falcon.files.mission","theaters","weathergen.falcon.files.mission/theaters",135274652)], null),null,null,new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29214){
return cljs.core.map_QMARK_.call(null,G__29214);
}),(function (G__29214){
return cljs.core.contains_QMARK_.call(null,G__29214,new cljs.core.Keyword(null,"install-dir","install-dir",2018055118));
}),(function (G__29214){
return cljs.core.contains_QMARK_.call(null,G__29214,new cljs.core.Keyword(null,"data-dir","data-dir",2038801936));
}),(function (G__29214){
return cljs.core.contains_QMARK_.call(null,G__29214,new cljs.core.Keyword(null,"object-dir","object-dir",-2124784896));
}),(function (G__29214){
return cljs.core.contains_QMARK_.call(null,G__29214,new cljs.core.Keyword(null,"art-dir","art-dir",67381390));
}),(function (G__29214){
return cljs.core.contains_QMARK_.call(null,G__29214,new cljs.core.Keyword(null,"theaters","theaters",-1420445930));
})], null),(function (G__29214){
return ((cljs.core.map_QMARK_.call(null,G__29214)) && (cljs.core.contains_QMARK_.call(null,G__29214,new cljs.core.Keyword(null,"install-dir","install-dir",2018055118))) && (cljs.core.contains_QMARK_.call(null,G__29214,new cljs.core.Keyword(null,"data-dir","data-dir",2038801936))) && (cljs.core.contains_QMARK_.call(null,G__29214,new cljs.core.Keyword(null,"object-dir","object-dir",-2124784896))) && (cljs.core.contains_QMARK_.call(null,G__29214,new cljs.core.Keyword(null,"art-dir","art-dir",67381390))) && (cljs.core.contains_QMARK_.call(null,G__29214,new cljs.core.Keyword(null,"theaters","theaters",-1420445930))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","install-dir","weathergen.falcon.files.mission/install-dir",-577598648),new cljs.core.Keyword("weathergen.falcon.files.mission","data-dir","weathergen.falcon.files.mission/data-dir",1554526330),new cljs.core.Keyword("weathergen.falcon.files.mission","object-dir","weathergen.falcon.files.mission/object-dir",-459344762),new cljs.core.Keyword("weathergen.falcon.files.mission","art-dir","weathergen.falcon.files.mission/art-dir",-1496408552),new cljs.core.Keyword("weathergen.falcon.files.mission","theaters","weathergen.falcon.files.mission/theaters",135274652)], null),null,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"install-dir","install-dir",2018055118),new cljs.core.Keyword(null,"data-dir","data-dir",2038801936),new cljs.core.Keyword(null,"object-dir","object-dir",-2124784896),new cljs.core.Keyword(null,"art-dir","art-dir",67381390),new cljs.core.Keyword(null,"theaters","theaters",-1420445930)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 6, 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(null,"install-dir","install-dir",2018055118))),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(null,"data-dir","data-dir",2038801936))),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(null,"object-dir","object-dir",-2124784896))),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(null,"art-dir","art-dir",67381390))),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(null,"theaters","theaters",-1420445930)))], null),null]));
weathergen.falcon.files.mission.ClassInfo = 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)],[new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","domain","weathergen.falcon.files.mission/domain",1214169331),new cljs.core.Keyword("weathergen.falcon.files.mission","class","weathergen.falcon.files.mission/class",-1549237210),new cljs.core.Keyword("weathergen.falcon.files.mission","type","weathergen.falcon.files.mission/type",-1571457242),new cljs.core.Keyword("weathergen.falcon.files.mission","stype","weathergen.falcon.files.mission/stype",-688992601),new cljs.core.Keyword("weathergen.falcon.files.mission","sptype","weathergen.falcon.files.mission/sptype",1179274124),new cljs.core.Keyword("weathergen.falcon.files.mission","owner","weathergen.falcon.files.mission/owner",1206032935)], null),null,null,new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29215){
return cljs.core.map_QMARK_.call(null,G__29215);
}),(function (G__29215){
return cljs.core.contains_QMARK_.call(null,G__29215,new cljs.core.Keyword(null,"domain","domain",1847214937));
}),(function (G__29215){
return cljs.core.contains_QMARK_.call(null,G__29215,new cljs.core.Keyword(null,"class","class",-2030961996));
}),(function (G__29215){
return cljs.core.contains_QMARK_.call(null,G__29215,new cljs.core.Keyword(null,"type","type",1174270348));
}),(function (G__29215){
return cljs.core.contains_QMARK_.call(null,G__29215,new cljs.core.Keyword(null,"stype","stype",-63678419));
}),(function (G__29215){
return cljs.core.contains_QMARK_.call(null,G__29215,new cljs.core.Keyword(null,"sptype","sptype",-1425026030));
}),(function (G__29215){
return cljs.core.contains_QMARK_.call(null,G__29215,new cljs.core.Keyword(null,"owner","owner",-392611939));
})], null),(function (G__29215){
return ((cljs.core.map_QMARK_.call(null,G__29215)) && (cljs.core.contains_QMARK_.call(null,G__29215,new cljs.core.Keyword(null,"domain","domain",1847214937))) && (cljs.core.contains_QMARK_.call(null,G__29215,new cljs.core.Keyword(null,"class","class",-2030961996))) && (cljs.core.contains_QMARK_.call(null,G__29215,new cljs.core.Keyword(null,"type","type",1174270348))) && (cljs.core.contains_QMARK_.call(null,G__29215,new cljs.core.Keyword(null,"stype","stype",-63678419))) && (cljs.core.contains_QMARK_.call(null,G__29215,new cljs.core.Keyword(null,"sptype","sptype",-1425026030))) && (cljs.core.contains_QMARK_.call(null,G__29215,new cljs.core.Keyword(null,"owner","owner",-392611939))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","domain","weathergen.falcon.files.mission/domain",1214169331),new cljs.core.Keyword("weathergen.falcon.files.mission","class","weathergen.falcon.files.mission/class",-1549237210),new cljs.core.Keyword("weathergen.falcon.files.mission","type","weathergen.falcon.files.mission/type",-1571457242),new cljs.core.Keyword("weathergen.falcon.files.mission","stype","weathergen.falcon.files.mission/stype",-688992601),new cljs.core.Keyword("weathergen.falcon.files.mission","sptype","weathergen.falcon.files.mission/sptype",1179274124),new cljs.core.Keyword("weathergen.falcon.files.mission","owner","weathergen.falcon.files.mission/owner",1206032935)], null),null,new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"domain","domain",1847214937),new cljs.core.Keyword(null,"class","class",-2030961996),new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"stype","stype",-63678419),new cljs.core.Keyword(null,"sptype","sptype",-1425026030),new cljs.core.Keyword(null,"owner","owner",-392611939)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 7, 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(null,"domain","domain",1847214937))),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(null,"class","class",-2030961996))),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(null,"type","type",1174270348))),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(null,"stype","stype",-63678419))),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(null,"sptype","sptype",-1425026030))),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(null,"owner","owner",-392611939)))], null),null]));
weathergen.falcon.files.mission.ClassInfo2 = 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)],[new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","data-pointer","weathergen.falcon.files.mission/data-pointer",-1400092936),new cljs.core.Keyword("weathergen.falcon.files.mission","data-type","weathergen.falcon.files.mission/data-type",-1999856938),new cljs.core.Keyword("weathergen.falcon.files.mission","vehicle-data-index","weathergen.falcon.files.mission/vehicle-data-index",94274720),new cljs.core.Keyword("weathergen.falcon.files.mission","vis-type","weathergen.falcon.files.mission/vis-type",-790933497),new cljs.core.Keyword("weathergen.falcon.files.mission","vu-class-data","weathergen.falcon.files.mission/vu-class-data",797628127)], null),null,null,new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29216){
return cljs.core.map_QMARK_.call(null,G__29216);
}),(function (G__29216){
return cljs.core.contains_QMARK_.call(null,G__29216,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649));
}),(function (G__29216){
return cljs.core.contains_QMARK_.call(null,G__29216,new cljs.core.Keyword("weathergen.falcon.files.mission","feature-class-info","weathergen.falcon.files.mission/feature-class-info",1346129647));
}),(function (G__29216){
return cljs.core.contains_QMARK_.call(null,G__29216,new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382));
}),(function (G__29216){
return cljs.core.contains_QMARK_.call(null,G__29216,new cljs.core.Keyword(null,"data-type","data-type",-326421468));
}),(function (G__29216){
return cljs.core.contains_QMARK_.call(null,G__29216,new cljs.core.Keyword(null,"vehicle-data-index","vehicle-data-index",1750693686));
}),(function (G__29216){
return cljs.core.contains_QMARK_.call(null,G__29216,new cljs.core.Keyword(null,"vis-type","vis-type",802477693));
}),(function (G__29216){
return cljs.core.contains_QMARK_.call(null,G__29216,new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799));
})], null),(function (G__29216){
return ((cljs.core.map_QMARK_.call(null,G__29216)) && (cljs.core.contains_QMARK_.call(null,G__29216,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649))) && (cljs.core.contains_QMARK_.call(null,G__29216,new cljs.core.Keyword("weathergen.falcon.files.mission","feature-class-info","weathergen.falcon.files.mission/feature-class-info",1346129647))) && (cljs.core.contains_QMARK_.call(null,G__29216,new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382))) && (cljs.core.contains_QMARK_.call(null,G__29216,new cljs.core.Keyword(null,"data-type","data-type",-326421468))) && (cljs.core.contains_QMARK_.call(null,G__29216,new cljs.core.Keyword(null,"vehicle-data-index","vehicle-data-index",1750693686))) && (cljs.core.contains_QMARK_.call(null,G__29216,new cljs.core.Keyword(null,"vis-type","vis-type",802477693))) && (cljs.core.contains_QMARK_.call(null,G__29216,new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","feature-class-info","weathergen.falcon.files.mission/feature-class-info",1346129647),new cljs.core.Keyword("weathergen.falcon.files.mission","data-pointer","weathergen.falcon.files.mission/data-pointer",-1400092936),new cljs.core.Keyword("weathergen.falcon.files.mission","data-type","weathergen.falcon.files.mission/data-type",-1999856938),new cljs.core.Keyword("weathergen.falcon.files.mission","vehicle-data-index","weathergen.falcon.files.mission/vehicle-data-index",94274720),new cljs.core.Keyword("weathergen.falcon.files.mission","vis-type","weathergen.falcon.files.mission/vis-type",-790933497),new cljs.core.Keyword("weathergen.falcon.files.mission","vu-class-data","weathergen.falcon.files.mission/vu-class-data",797628127)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","feature-class-info","weathergen.falcon.files.mission/feature-class-info",1346129647)], null),new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","feature-class-info","weathergen.falcon.files.mission/feature-class-info",1346129647),new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382),new cljs.core.Keyword(null,"data-type","data-type",-326421468),new cljs.core.Keyword(null,"vehicle-data-index","vehicle-data-index",1750693686),new cljs.core.Keyword(null,"vis-type","vis-type",802477693),new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 8, 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.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649))),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.falcon.files.mission","feature-class-info","weathergen.falcon.files.mission/feature-class-info",1346129647))),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(null,"data-pointer","data-pointer",-1957576382))),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(null,"data-type","data-type",-326421468))),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(null,"vehicle-data-index","vehicle-data-index",1750693686))),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(null,"vis-type","vis-type",802477693))),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(null,"vu-class-data","vu-class-data",-1868219799)))], null),null]));
weathergen.falcon.files.mission.VuEntityFields = 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)],[new cljs.core.PersistentVector(null, 21, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("int","id","int/id",-1388428731),new cljs.core.Keyword("weathergen.falcon.files.mission","collision-type","weathergen.falcon.files.mission/collision-type",-1095412380),new cljs.core.Keyword("weathergen.falcon.files.mission","collision-radius","weathergen.falcon.files.mission/collision-radius",-674585753),new cljs.core.Keyword("weathergen.falcon.files.mission","class-info","weathergen.falcon.files.mission/class-info",-1092492204),new cljs.core.Keyword("weathergen.falcon.files.mission","update-rate","weathergen.falcon.files.mission/update-rate",76404465),new cljs.core.Keyword("weathergen.falcon.files.mission","update-tolerance","weathergen.falcon.files.mission/update-tolerance",1816777841),new cljs.core.Keyword("weathergen.falcon.files.mission","fine-update-range","weathergen.falcon.files.mission/fine-update-range",-409420047),new cljs.core.Keyword("weathergen.falcon.files.mission","fine-update-force-range","weathergen.falcon.files.mission/fine-update-force-range",918313040),new cljs.core.Keyword("weathergen.falcon.files.mission","fine-update-multiplier","weathergen.falcon.files.mission/fine-update-multiplier",-1437327534),new cljs.core.Keyword("weathergen.falcon.files.mission","damage-speed","weathergen.falcon.files.mission/damage-speed",-292579857),new cljs.core.Keyword("weathergen.falcon.files.mission","hitpoints","weathergen.falcon.files.mission/hitpoints",1104859779),new cljs.core.Keyword("weathergen.falcon.files.mission","major-revision-number","weathergen.falcon.files.mission/major-revision-number",-1627500611),new cljs.core.Keyword("weathergen.falcon.files.mission","minor-revision-number","weathergen.falcon.files.mission/minor-revision-number",2137407463),new cljs.core.Keyword("weathergen.falcon.files.mission","create-priority","weathergen.falcon.files.mission/create-priority",1232517319),new cljs.core.Keyword("weathergen.falcon.files.mission","management-domain","weathergen.falcon.files.mission/management-domain",1287075328),new cljs.core.Keyword("weathergen.falcon.files.mission","transferable","weathergen.falcon.files.mission/transferable",-1781694740),new cljs.core.Keyword("weathergen.falcon.files.mission","private","weathergen.falcon.files.mission/private",1132571664),new cljs.core.Keyword("weathergen.falcon.files.mission","tangible","weathergen.falcon.files.mission/tangible",1925068834),new cljs.core.Keyword("weathergen.falcon.files.mission","collidable","weathergen.falcon.files.mission/collidable",-1450401728),new cljs.core.Keyword("weathergen.falcon.files.mission","global","weathergen.falcon.files.mission/global",2043304013),new cljs.core.Keyword("weathergen.falcon.files.mission","persistent","weathergen.falcon.files.mission/persistent",301470291)], null),null,null,new cljs.core.PersistentVector(null, 22, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29217){
return cljs.core.map_QMARK_.call(null,G__29217);
}),(function (G__29217){
return cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"id","id",-1388402092));
}),(function (G__29217){
return cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"collision-type","collision-type",1031477978));
}),(function (G__29217){
return cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"collision-radius","collision-radius",2064718833));
}),(function (G__29217){
return cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"class-info","class-info",-467052058));
}),(function (G__29217){
return cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"update-rate","update-rate",549997679));
}),(function (G__29217){
return cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"update-tolerance","update-tolerance",1242588651));
}),(function (G__29217){
return cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"fine-update-range","fine-update-range",-2006748049));
}),(function (G__29217){
return cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"fine-update-force-range","fine-update-force-range",-703217754));
}),(function (G__29217){
return cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"fine-update-multiplier","fine-update-multiplier",1301129404));
}),(function (G__29217){
return cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"damage-speed","damage-speed",1800211525));
}),(function (G__29217){
return cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"hitpoints","hitpoints",-575579159));
}),(function (G__29217){
return cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"major-revision-number","major-revision-number",473159511));
}),(function (G__29217){
return cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"minor-revision-number","minor-revision-number",-358429843));
}),(function (G__29217){
return cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"create-priority","create-priority",-433275059));
}),(function (G__29217){
return cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"management-domain","management-domain",-382123626));
}),(function (G__29217){
return cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"transferable","transferable",-243006862));
}),(function (G__29217){
return cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"private","private",-558947994));
}),(function (G__29217){
return cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"tangible","tangible",1450746508));
}),(function (G__29217){
return cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"collidable","collidable",232142278));
}),(function (G__29217){
return cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"global","global",93595047));
}),(function (G__29217){
return cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"persistent","persistent",885415113));
})], null),(function (G__29217){
return ((cljs.core.map_QMARK_.call(null,G__29217)) && (cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"id","id",-1388402092))) && (cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"collision-type","collision-type",1031477978))) && (cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"collision-radius","collision-radius",2064718833))) && (cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"class-info","class-info",-467052058))) && (cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"update-rate","update-rate",549997679))) && (cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"update-tolerance","update-tolerance",1242588651))) && (cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"fine-update-range","fine-update-range",-2006748049))) && (cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"fine-update-force-range","fine-update-force-range",-703217754))) && (cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"fine-update-multiplier","fine-update-multiplier",1301129404))) && (cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"damage-speed","damage-speed",1800211525))) && (cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"hitpoints","hitpoints",-575579159))) && (cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"major-revision-number","major-revision-number",473159511))) && (cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"minor-revision-number","minor-revision-number",-358429843))) && (cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"create-priority","create-priority",-433275059))) && (cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"management-domain","management-domain",-382123626))) && (cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"transferable","transferable",-243006862))) && (cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"private","private",-558947994))) && (cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"tangible","tangible",1450746508))) && (cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"collidable","collidable",232142278))) && (cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"global","global",93595047))) && (cljs.core.contains_QMARK_.call(null,G__29217,new cljs.core.Keyword(null,"persistent","persistent",885415113))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 21, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("int","id","int/id",-1388428731),new cljs.core.Keyword("weathergen.falcon.files.mission","collision-type","weathergen.falcon.files.mission/collision-type",-1095412380),new cljs.core.Keyword("weathergen.falcon.files.mission","collision-radius","weathergen.falcon.files.mission/collision-radius",-674585753),new cljs.core.Keyword("weathergen.falcon.files.mission","class-info","weathergen.falcon.files.mission/class-info",-1092492204),new cljs.core.Keyword("weathergen.falcon.files.mission","update-rate","weathergen.falcon.files.mission/update-rate",76404465),new cljs.core.Keyword("weathergen.falcon.files.mission","update-tolerance","weathergen.falcon.files.mission/update-tolerance",1816777841),new cljs.core.Keyword("weathergen.falcon.files.mission","fine-update-range","weathergen.falcon.files.mission/fine-update-range",-409420047),new cljs.core.Keyword("weathergen.falcon.files.mission","fine-update-force-range","weathergen.falcon.files.mission/fine-update-force-range",918313040),new cljs.core.Keyword("weathergen.falcon.files.mission","fine-update-multiplier","weathergen.falcon.files.mission/fine-update-multiplier",-1437327534),new cljs.core.Keyword("weathergen.falcon.files.mission","damage-speed","weathergen.falcon.files.mission/damage-speed",-292579857),new cljs.core.Keyword("weathergen.falcon.files.mission","hitpoints","weathergen.falcon.files.mission/hitpoints",1104859779),new cljs.core.Keyword("weathergen.falcon.files.mission","major-revision-number","weathergen.falcon.files.mission/major-revision-number",-1627500611),new cljs.core.Keyword("weathergen.falcon.files.mission","minor-revision-number","weathergen.falcon.files.mission/minor-revision-number",2137407463),new cljs.core.Keyword("weathergen.falcon.files.mission","create-priority","weathergen.falcon.files.mission/create-priority",1232517319),new cljs.core.Keyword("weathergen.falcon.files.mission","management-domain","weathergen.falcon.files.mission/management-domain",1287075328),new cljs.core.Keyword("weathergen.falcon.files.mission","transferable","weathergen.falcon.files.mission/transferable",-1781694740),new cljs.core.Keyword("weathergen.falcon.files.mission","private","weathergen.falcon.files.mission/private",1132571664),new cljs.core.Keyword("weathergen.falcon.files.mission","tangible","weathergen.falcon.files.mission/tangible",1925068834),new cljs.core.Keyword("weathergen.falcon.files.mission","collidable","weathergen.falcon.files.mission/collidable",-1450401728),new cljs.core.Keyword("weathergen.falcon.files.mission","global","weathergen.falcon.files.mission/global",2043304013),new cljs.core.Keyword("weathergen.falcon.files.mission","persistent","weathergen.falcon.files.mission/persistent",301470291)], null),null,new cljs.core.PersistentVector(null, 21, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"collision-type","collision-type",1031477978),new cljs.core.Keyword(null,"collision-radius","collision-radius",2064718833),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"update-rate","update-rate",549997679),new cljs.core.Keyword(null,"update-tolerance","update-tolerance",1242588651),new cljs.core.Keyword(null,"fine-update-range","fine-update-range",-2006748049),new cljs.core.Keyword(null,"fine-update-force-range","fine-update-force-range",-703217754),new cljs.core.Keyword(null,"fine-update-multiplier","fine-update-multiplier",1301129404),new cljs.core.Keyword(null,"damage-speed","damage-speed",1800211525),new cljs.core.Keyword(null,"hitpoints","hitpoints",-575579159),new cljs.core.Keyword(null,"major-revision-number","major-revision-number",473159511),new cljs.core.Keyword(null,"minor-revision-number","minor-revision-number",-358429843),new cljs.core.Keyword(null,"create-priority","create-priority",-433275059),new cljs.core.Keyword(null,"management-domain","management-domain",-382123626),new cljs.core.Keyword(null,"transferable","transferable",-243006862),new cljs.core.Keyword(null,"private","private",-558947994),new cljs.core.Keyword(null,"tangible","tangible",1450746508),new cljs.core.Keyword(null,"collidable","collidable",232142278),new cljs.core.Keyword(null,"global","global",93595047),new cljs.core.Keyword(null,"persistent","persistent",885415113)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 22, 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(null,"id","id",-1388402092))),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(null,"collision-type","collision-type",1031477978))),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(null,"collision-radius","collision-radius",2064718833))),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(null,"class-info","class-info",-467052058))),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(null,"update-rate","update-rate",549997679))),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(null,"update-tolerance","update-tolerance",1242588651))),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(null,"fine-update-range","fine-update-range",-2006748049))),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(null,"fine-update-force-range","fine-update-force-range",-703217754))),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(null,"fine-update-multiplier","fine-update-multiplier",1301129404))),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(null,"damage-speed","damage-speed",1800211525))),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(null,"hitpoints","hitpoints",-575579159))),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(null,"major-revision-number","major-revision-number",473159511))),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(null,"minor-revision-number","minor-revision-number",-358429843))),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(null,"create-priority","create-priority",-433275059))),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(null,"management-domain","management-domain",-382123626))),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(null,"transferable","transferable",-243006862))),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(null,"private","private",-558947994))),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(null,"tangible","tangible",1450746508))),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(null,"collidable","collidable",232142278))),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(null,"global","global",93595047))),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(null,"persistent","persistent",885415113)))], null),null]));
weathergen.falcon.files.mission.Falcon4EntityFields = 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)],[new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","vu-class-data","weathergen.falcon.files.mission/vu-class-data",797628127),new cljs.core.Keyword("weathergen.falcon.files.mission","vis-type","weathergen.falcon.files.mission/vis-type",-790933497),new cljs.core.Keyword("weathergen.falcon.files.mission","vehicle-data-index","weathergen.falcon.files.mission/vehicle-data-index",94274720),new cljs.core.Keyword("weathergen.falcon.files.mission","data-type","weathergen.falcon.files.mission/data-type",-1999856938),new cljs.core.Keyword("weathergen.falcon.files.mission","data-pointer","weathergen.falcon.files.mission/data-pointer",-1400092936)], null),null,null,new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29218){
return cljs.core.map_QMARK_.call(null,G__29218);
}),(function (G__29218){
return cljs.core.contains_QMARK_.call(null,G__29218,new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799));
}),(function (G__29218){
return cljs.core.contains_QMARK_.call(null,G__29218,new cljs.core.Keyword(null,"vis-type","vis-type",802477693));
}),(function (G__29218){
return cljs.core.contains_QMARK_.call(null,G__29218,new cljs.core.Keyword(null,"vehicle-data-index","vehicle-data-index",1750693686));
}),(function (G__29218){
return cljs.core.contains_QMARK_.call(null,G__29218,new cljs.core.Keyword(null,"data-type","data-type",-326421468));
}),(function (G__29218){
return cljs.core.contains_QMARK_.call(null,G__29218,new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382));
})], null),(function (G__29218){
return ((cljs.core.map_QMARK_.call(null,G__29218)) && (cljs.core.contains_QMARK_.call(null,G__29218,new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799))) && (cljs.core.contains_QMARK_.call(null,G__29218,new cljs.core.Keyword(null,"vis-type","vis-type",802477693))) && (cljs.core.contains_QMARK_.call(null,G__29218,new cljs.core.Keyword(null,"vehicle-data-index","vehicle-data-index",1750693686))) && (cljs.core.contains_QMARK_.call(null,G__29218,new cljs.core.Keyword(null,"data-type","data-type",-326421468))) && (cljs.core.contains_QMARK_.call(null,G__29218,new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","vu-class-data","weathergen.falcon.files.mission/vu-class-data",797628127),new cljs.core.Keyword("weathergen.falcon.files.mission","vis-type","weathergen.falcon.files.mission/vis-type",-790933497),new cljs.core.Keyword("weathergen.falcon.files.mission","vehicle-data-index","weathergen.falcon.files.mission/vehicle-data-index",94274720),new cljs.core.Keyword("weathergen.falcon.files.mission","data-type","weathergen.falcon.files.mission/data-type",-1999856938),new cljs.core.Keyword("weathergen.falcon.files.mission","data-pointer","weathergen.falcon.files.mission/data-pointer",-1400092936)], null),null,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"vis-type","vis-type",802477693),new cljs.core.Keyword(null,"vehicle-data-index","vehicle-data-index",1750693686),new cljs.core.Keyword(null,"data-type","data-type",-326421468),new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 6, 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(null,"vu-class-data","vu-class-data",-1868219799))),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(null,"vis-type","vis-type",802477693))),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(null,"vehicle-data-index","vehicle-data-index",1750693686))),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(null,"data-type","data-type",-326421468))),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(null,"data-pointer","data-pointer",-1957576382)))], null),null]));
weathergen.falcon.files.mission.UnitClassData = 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, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29219){
return cljs.core.map_QMARK_.call(null,G__29219);
})], null),(function (G__29219){
return cljs.core.map_QMARK_.call(null,G__29219);
}),cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY,null,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 1, 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)))], null),null]));
weathergen.falcon.files.mission.ObjectiveClassData = 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)],[new cljs.core.PersistentVector(null, 11, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","data-rate","weathergen.falcon.files.mission/data-rate",164102129),new cljs.core.Keyword("weathergen.falcon.files.mission","deag-distance","weathergen.falcon.files.mission/deag-distance",-1162764241),new cljs.core.Keyword("weathergen.falcon.files.mission","pt-data-index","weathergen.falcon.files.mission/pt-data-index",-1736332457),new cljs.core.Keyword("weathergen.falcon.files.mission","detection","weathergen.falcon.files.mission/detection",83329163),new cljs.core.Keyword("weathergen.falcon.files.mission","damage-mod","weathergen.falcon.files.mission/damage-mod",1747505998),new cljs.core.Keyword("weathergen.falcon.files.mission","icon-index","weathergen.falcon.files.mission/icon-index",-1766996784),new cljs.core.Keyword("raw","features","raw/features",-1146784184),new cljs.core.Keyword("weathergen.falcon.files.mission","radar-feature","weathergen.falcon.files.mission/radar-feature",287589422),new cljs.core.Keyword("weathergen.falcon.files.mission","first-feature","weathergen.falcon.files.mission/first-feature",-2004178263)], null),null,null,new cljs.core.PersistentVector(null, 12, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29220){
return cljs.core.map_QMARK_.call(null,G__29220);
}),(function (G__29220){
return cljs.core.contains_QMARK_.call(null,G__29220,new cljs.core.Keyword(null,"index","index",-1531685915));
}),(function (G__29220){
return cljs.core.contains_QMARK_.call(null,G__29220,new cljs.core.Keyword(null,"name","name",1843675177));
}),(function (G__29220){
return cljs.core.contains_QMARK_.call(null,G__29220,new cljs.core.Keyword(null,"data-rate","data-rate",-1399941497));
}),(function (G__29220){
return cljs.core.contains_QMARK_.call(null,G__29220,new cljs.core.Keyword(null,"deag-distance","deag-distance",-1721226571));
}),(function (G__29220){
return cljs.core.contains_QMARK_.call(null,G__29220,new cljs.core.Keyword(null,"pt-data-index","pt-data-index",-54255967));
}),(function (G__29220){
return cljs.core.contains_QMARK_.call(null,G__29220,new cljs.core.Keyword(null,"detection","detection",-1580072483));
}),(function (G__29220){
return cljs.core.contains_QMARK_.call(null,G__29220,new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116));
}),(function (G__29220){
return cljs.core.contains_QMARK_.call(null,G__29220,new cljs.core.Keyword(null,"icon-index","icon-index",-42714286));
}),(function (G__29220){
return cljs.core.contains_QMARK_.call(null,G__29220,new cljs.core.Keyword(null,"features","features",-1146962336));
}),(function (G__29220){
return cljs.core.contains_QMARK_.call(null,G__29220,new cljs.core.Keyword(null,"radar-feature","radar-feature",2111876796));
}),(function (G__29220){
return cljs.core.contains_QMARK_.call(null,G__29220,new cljs.core.Keyword(null,"first-feature","first-feature",-1395776257));
})], null),(function (G__29220){
return ((cljs.core.map_QMARK_.call(null,G__29220)) && (cljs.core.contains_QMARK_.call(null,G__29220,new cljs.core.Keyword(null,"index","index",-1531685915))) && (cljs.core.contains_QMARK_.call(null,G__29220,new cljs.core.Keyword(null,"name","name",1843675177))) && (cljs.core.contains_QMARK_.call(null,G__29220,new cljs.core.Keyword(null,"data-rate","data-rate",-1399941497))) && (cljs.core.contains_QMARK_.call(null,G__29220,new cljs.core.Keyword(null,"deag-distance","deag-distance",-1721226571))) && (cljs.core.contains_QMARK_.call(null,G__29220,new cljs.core.Keyword(null,"pt-data-index","pt-data-index",-54255967))) && (cljs.core.contains_QMARK_.call(null,G__29220,new cljs.core.Keyword(null,"detection","detection",-1580072483))) && (cljs.core.contains_QMARK_.call(null,G__29220,new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116))) && (cljs.core.contains_QMARK_.call(null,G__29220,new cljs.core.Keyword(null,"icon-index","icon-index",-42714286))) && (cljs.core.contains_QMARK_.call(null,G__29220,new cljs.core.Keyword(null,"features","features",-1146962336))) && (cljs.core.contains_QMARK_.call(null,G__29220,new cljs.core.Keyword(null,"radar-feature","radar-feature",2111876796))) && (cljs.core.contains_QMARK_.call(null,G__29220,new cljs.core.Keyword(null,"first-feature","first-feature",-1395776257))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 11, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","data-rate","weathergen.falcon.files.mission/data-rate",164102129),new cljs.core.Keyword("weathergen.falcon.files.mission","deag-distance","weathergen.falcon.files.mission/deag-distance",-1162764241),new cljs.core.Keyword("weathergen.falcon.files.mission","pt-data-index","weathergen.falcon.files.mission/pt-data-index",-1736332457),new cljs.core.Keyword("weathergen.falcon.files.mission","detection","weathergen.falcon.files.mission/detection",83329163),new cljs.core.Keyword("weathergen.falcon.files.mission","damage-mod","weathergen.falcon.files.mission/damage-mod",1747505998),new cljs.core.Keyword("weathergen.falcon.files.mission","icon-index","weathergen.falcon.files.mission/icon-index",-1766996784),new cljs.core.Keyword("raw","features","raw/features",-1146784184),new cljs.core.Keyword("weathergen.falcon.files.mission","radar-feature","weathergen.falcon.files.mission/radar-feature",287589422),new cljs.core.Keyword("weathergen.falcon.files.mission","first-feature","weathergen.falcon.files.mission/first-feature",-2004178263)], null),null,new cljs.core.PersistentVector(null, 11, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"index","index",-1531685915),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"data-rate","data-rate",-1399941497),new cljs.core.Keyword(null,"deag-distance","deag-distance",-1721226571),new cljs.core.Keyword(null,"pt-data-index","pt-data-index",-54255967),new cljs.core.Keyword(null,"detection","detection",-1580072483),new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116),new cljs.core.Keyword(null,"icon-index","icon-index",-42714286),new cljs.core.Keyword(null,"features","features",-1146962336),new cljs.core.Keyword(null,"radar-feature","radar-feature",2111876796),new cljs.core.Keyword(null,"first-feature","first-feature",-1395776257)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 12, 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(null,"index","index",-1531685915))),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(null,"name","name",1843675177))),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(null,"data-rate","data-rate",-1399941497))),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(null,"deag-distance","deag-distance",-1721226571))),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(null,"pt-data-index","pt-data-index",-54255967))),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(null,"detection","detection",-1580072483))),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(null,"damage-mod","damage-mod",-756867116))),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(null,"icon-index","icon-index",-42714286))),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(null,"features","features",-1146962336))),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(null,"radar-feature","radar-feature",2111876796))),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(null,"first-feature","first-feature",-1395776257)))], null),null]));
weathergen.falcon.files.mission.VehicleClassData = 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)],[new cljs.core.PersistentVector(null, 28, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","hit-points","weathergen.falcon.files.mission/hit-points",653556402),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","nctr","weathergen.falcon.files.mission/nctr",-1365252522),new cljs.core.Keyword("weathergen.falcon.files.mission","rcs-factor","weathergen.falcon.files.mission/rcs-factor",863072417),new cljs.core.Keyword("weathergen.falcon.files.mission","max-wt","weathergen.falcon.files.mission/max-wt",702316109),new cljs.core.Keyword("weathergen.falcon.files.mission","empty-wt","weathergen.falcon.files.mission/empty-wt",-1868767054),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-wt","weathergen.falcon.files.mission/fuel-wt",190185840),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-econ","weathergen.falcon.files.mission/fuel-econ",-80464711),new cljs.core.Keyword("weathergen.falcon.files.mission","engine-sound","weathergen.falcon.files.mission/engine-sound",-552832544),new cljs.core.Keyword("weathergen.falcon.files.mission","high-alt","weathergen.falcon.files.mission/high-alt",1100656247),new cljs.core.Keyword("weathergen.falcon.files.mission","low-alt","weathergen.falcon.files.mission/low-alt",1328958093),new cljs.core.Keyword("weathergen.falcon.files.mission","cruise-alt","weathergen.falcon.files.mission/cruise-alt",46459899),new cljs.core.Keyword("weathergen.falcon.files.mission","max-speed","weathergen.falcon.files.mission/max-speed",1472926629),new cljs.core.Keyword("weathergen.falcon.files.mission","radar-type","weathergen.falcon.files.mission/radar-type",691386808),new cljs.core.Keyword("weathergen.falcon.files.mission","number-of-pilots","weathergen.falcon.files.mission/number-of-pilots",-952044599),new cljs.core.Keyword("weathergen.falcon.files.mission","rack-flags","weathergen.falcon.files.mission/rack-flags",1517182764),new cljs.core.Keyword("weathergen.falcon.files.mission","visible-flags","weathergen.falcon.files.mission/visible-flags",1069257894),new cljs.core.Keyword("weathergen.falcon.files.mission","callsign-index","weathergen.falcon.files.mission/callsign-index",-162215987),new cljs.core.Keyword("weathergen.falcon.files.mission","callsign-slots","weathergen.falcon.files.mission/callsign-slots",1249857048),new cljs.core.Keyword("weathergen.falcon.files.mission","hit-chance","weathergen.falcon.files.mission/hit-chance",-532962394),new cljs.core.Keyword("weathergen.falcon.files.mission","strength","weathergen.falcon.files.mission/strength",-889401924),new cljs.core.Keyword("weathergen.falcon.files.mission","range","weathergen.falcon.files.mission/range",76948868),new cljs.core.Keyword("weathergen.falcon.files.mission","detection","weathergen.falcon.files.mission/detection",83329163),new cljs.core.Keyword("weathergen.falcon.files.mission","weapon","weathergen.falcon.files.mission/weapon",1169121678),new cljs.core.Keyword("vehicle","weapons","vehicle/weapons",2115526130),new cljs.core.Keyword("weathergen.falcon.files.mission","damage-mod","weathergen.falcon.files.mission/damage-mod",1747505998)], null),null,null,new cljs.core.PersistentVector(null, 29, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29221){
return cljs.core.map_QMARK_.call(null,G__29221);
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"index","index",-1531685915));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"hit-points","hit-points",-906296276));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"flags","flags",1775418075));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"name","name",1843675177));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"nctr","nctr",1306882980));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"rcs-factor","rcs-factor",-693378533));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"max-wt","max-wt",220395483));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"empty-wt","empty-wt",1037790536));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"fuel-wt","fuel-wt",-1341155598));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"fuel-econ","fuel-econ",-1774342065));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"engine-sound","engine-sound",-1018050458));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"high-alt","high-alt",-1378024467));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"low-alt","low-alt",-228079593));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"cruise-alt","cruise-alt",2005550721));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"max-speed","max-speed",-997417461));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"number-of-pilots","number-of-pilots",-393973473));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"rack-flags","rack-flags",-1071125122));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"visible-flags","visible-flags",1830152500));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"callsign-index","callsign-index",-2090912473));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"callsign-slots","callsign-slots",-1388847774));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"hit-chance","hit-chance",-2087636980));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"strength","strength",-415606478));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"range","range",1639692286));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"detection","detection",-1580072483));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"weapon","weapon",-504830232));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"weapons","weapons",-1983639898));
}),(function (G__29221){
return cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116));
})], null),(function (G__29221){
return ((cljs.core.map_QMARK_.call(null,G__29221)) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"index","index",-1531685915))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"hit-points","hit-points",-906296276))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"flags","flags",1775418075))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"name","name",1843675177))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"nctr","nctr",1306882980))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"rcs-factor","rcs-factor",-693378533))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"max-wt","max-wt",220395483))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"empty-wt","empty-wt",1037790536))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"fuel-wt","fuel-wt",-1341155598))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"fuel-econ","fuel-econ",-1774342065))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"engine-sound","engine-sound",-1018050458))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"high-alt","high-alt",-1378024467))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"low-alt","low-alt",-228079593))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"cruise-alt","cruise-alt",2005550721))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"max-speed","max-speed",-997417461))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"number-of-pilots","number-of-pilots",-393973473))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"rack-flags","rack-flags",-1071125122))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"visible-flags","visible-flags",1830152500))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"callsign-index","callsign-index",-2090912473))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"callsign-slots","callsign-slots",-1388847774))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"hit-chance","hit-chance",-2087636980))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"strength","strength",-415606478))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"range","range",1639692286))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"detection","detection",-1580072483))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"weapon","weapon",-504830232))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"weapons","weapons",-1983639898))) && (cljs.core.contains_QMARK_.call(null,G__29221,new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 28, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","hit-points","weathergen.falcon.files.mission/hit-points",653556402),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","nctr","weathergen.falcon.files.mission/nctr",-1365252522),new cljs.core.Keyword("weathergen.falcon.files.mission","rcs-factor","weathergen.falcon.files.mission/rcs-factor",863072417),new cljs.core.Keyword("weathergen.falcon.files.mission","max-wt","weathergen.falcon.files.mission/max-wt",702316109),new cljs.core.Keyword("weathergen.falcon.files.mission","empty-wt","weathergen.falcon.files.mission/empty-wt",-1868767054),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-wt","weathergen.falcon.files.mission/fuel-wt",190185840),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-econ","weathergen.falcon.files.mission/fuel-econ",-80464711),new cljs.core.Keyword("weathergen.falcon.files.mission","engine-sound","weathergen.falcon.files.mission/engine-sound",-552832544),new cljs.core.Keyword("weathergen.falcon.files.mission","high-alt","weathergen.falcon.files.mission/high-alt",1100656247),new cljs.core.Keyword("weathergen.falcon.files.mission","low-alt","weathergen.falcon.files.mission/low-alt",1328958093),new cljs.core.Keyword("weathergen.falcon.files.mission","cruise-alt","weathergen.falcon.files.mission/cruise-alt",46459899),new cljs.core.Keyword("weathergen.falcon.files.mission","max-speed","weathergen.falcon.files.mission/max-speed",1472926629),new cljs.core.Keyword("weathergen.falcon.files.mission","radar-type","weathergen.falcon.files.mission/radar-type",691386808),new cljs.core.Keyword("weathergen.falcon.files.mission","number-of-pilots","weathergen.falcon.files.mission/number-of-pilots",-952044599),new cljs.core.Keyword("weathergen.falcon.files.mission","rack-flags","weathergen.falcon.files.mission/rack-flags",1517182764),new cljs.core.Keyword("weathergen.falcon.files.mission","visible-flags","weathergen.falcon.files.mission/visible-flags",1069257894),new cljs.core.Keyword("weathergen.falcon.files.mission","callsign-index","weathergen.falcon.files.mission/callsign-index",-162215987),new cljs.core.Keyword("weathergen.falcon.files.mission","callsign-slots","weathergen.falcon.files.mission/callsign-slots",1249857048),new cljs.core.Keyword("weathergen.falcon.files.mission","hit-chance","weathergen.falcon.files.mission/hit-chance",-532962394),new cljs.core.Keyword("weathergen.falcon.files.mission","strength","weathergen.falcon.files.mission/strength",-889401924),new cljs.core.Keyword("weathergen.falcon.files.mission","range","weathergen.falcon.files.mission/range",76948868),new cljs.core.Keyword("weathergen.falcon.files.mission","detection","weathergen.falcon.files.mission/detection",83329163),new cljs.core.Keyword("weathergen.falcon.files.mission","weapon","weathergen.falcon.files.mission/weapon",1169121678),new cljs.core.Keyword("vehicle","weapons","vehicle/weapons",2115526130),new cljs.core.Keyword("weathergen.falcon.files.mission","damage-mod","weathergen.falcon.files.mission/damage-mod",1747505998)], null),null,new cljs.core.PersistentVector(null, 28, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"index","index",-1531685915),new cljs.core.Keyword(null,"hit-points","hit-points",-906296276),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"nctr","nctr",1306882980),new cljs.core.Keyword(null,"rcs-factor","rcs-factor",-693378533),new cljs.core.Keyword(null,"max-wt","max-wt",220395483),new cljs.core.Keyword(null,"empty-wt","empty-wt",1037790536),new cljs.core.Keyword(null,"fuel-wt","fuel-wt",-1341155598),new cljs.core.Keyword(null,"fuel-econ","fuel-econ",-1774342065),new cljs.core.Keyword(null,"engine-sound","engine-sound",-1018050458),new cljs.core.Keyword(null,"high-alt","high-alt",-1378024467),new cljs.core.Keyword(null,"low-alt","low-alt",-228079593),new cljs.core.Keyword(null,"cruise-alt","cruise-alt",2005550721),new cljs.core.Keyword(null,"max-speed","max-speed",-997417461),new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362),new cljs.core.Keyword(null,"number-of-pilots","number-of-pilots",-393973473),new cljs.core.Keyword(null,"rack-flags","rack-flags",-1071125122),new cljs.core.Keyword(null,"visible-flags","visible-flags",1830152500),new cljs.core.Keyword(null,"callsign-index","callsign-index",-2090912473),new cljs.core.Keyword(null,"callsign-slots","callsign-slots",-1388847774),new cljs.core.Keyword(null,"hit-chance","hit-chance",-2087636980),new cljs.core.Keyword(null,"strength","strength",-415606478),new cljs.core.Keyword(null,"range","range",1639692286),new cljs.core.Keyword(null,"detection","detection",-1580072483),new cljs.core.Keyword(null,"weapon","weapon",-504830232),new cljs.core.Keyword(null,"weapons","weapons",-1983639898),new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 29, 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(null,"index","index",-1531685915))),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(null,"hit-points","hit-points",-906296276))),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(null,"flags","flags",1775418075))),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(null,"name","name",1843675177))),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(null,"nctr","nctr",1306882980))),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(null,"rcs-factor","rcs-factor",-693378533))),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(null,"max-wt","max-wt",220395483))),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(null,"empty-wt","empty-wt",1037790536))),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(null,"fuel-wt","fuel-wt",-1341155598))),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(null,"fuel-econ","fuel-econ",-1774342065))),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(null,"engine-sound","engine-sound",-1018050458))),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(null,"high-alt","high-alt",-1378024467))),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(null,"low-alt","low-alt",-228079593))),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(null,"cruise-alt","cruise-alt",2005550721))),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(null,"max-speed","max-speed",-997417461))),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(null,"radar-type","radar-type",-1913447362))),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(null,"number-of-pilots","number-of-pilots",-393973473))),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(null,"rack-flags","rack-flags",-1071125122))),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(null,"visible-flags","visible-flags",1830152500))),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(null,"callsign-index","callsign-index",-2090912473))),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(null,"callsign-slots","callsign-slots",-1388847774))),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(null,"hit-chance","hit-chance",-2087636980))),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(null,"strength","strength",-415606478))),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(null,"range","range",1639692286))),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(null,"detection","detection",-1580072483))),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(null,"weapon","weapon",-504830232))),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(null,"weapons","weapons",-1983639898))),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(null,"damage-mod","damage-mod",-756867116)))], null),null]));
weathergen.falcon.files.mission.WeaponClassData = 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)],[new cljs.core.PersistentVector(null, 17, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","blast-radius","weathergen.falcon.files.mission/blast-radius",-893643496),new cljs.core.Keyword("weathergen.falcon.files.mission","collective","weathergen.falcon.files.mission/collective",917301039),new cljs.core.Keyword("weathergen.falcon.files.mission","damage-type","weathergen.falcon.files.mission/damage-type",-1873891064),new cljs.core.Keyword("weathergen.falcon.files.mission","drag-index","weathergen.falcon.files.mission/drag-index",-2005929375),new cljs.core.Keyword("weathergen.falcon.files.mission","fire-rate","weathergen.falcon.files.mission/fire-rate",71993823),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","guidance-flags","weathergen.falcon.files.mission/guidance-flags",-1984721442),new cljs.core.Keyword("weathergen.falcon.files.mission","hit-chance","weathergen.falcon.files.mission/hit-chance",-532962394),new cljs.core.Keyword("weathergen.falcon.files.mission","max-alt","weathergen.falcon.files.mission/max-alt",1099967840),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","radar-type","weathergen.falcon.files.mission/radar-type",691386808),new cljs.core.Keyword("weathergen.falcon.files.mission","range","weathergen.falcon.files.mission/range",76948868),new cljs.core.Keyword("weathergen.falcon.files.mission","rariety","weathergen.falcon.files.mission/rariety",1140404326),new cljs.core.Keyword("weathergen.falcon.files.mission","sim-data-idx","weathergen.falcon.files.mission/sim-data-idx",-157488080),new cljs.core.Keyword("weathergen.falcon.files.mission","simweap-index","weathergen.falcon.files.mission/simweap-index",-24898421),new cljs.core.Keyword("weathergen.falcon.files.mission","strength","weathergen.falcon.files.mission/strength",-889401924),new cljs.core.Keyword("weathergen.falcon.files.mission","weight","weathergen.falcon.files.mission/weight",167623877)], null),null,null,new cljs.core.PersistentVector(null, 19, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29222){
return cljs.core.map_QMARK_.call(null,G__29222);
}),(function (G__29222){
return cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649));
}),(function (G__29222){
return cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"blast-radius","blast-radius",796954270));
}),(function (G__29222){
return cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"collective","collective",-1678283599));
}),(function (G__29222){
return cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"damage-type","damage-type",898770578));
}),(function (G__29222){
return cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"drag-index","drag-index",-207918117));
}),(function (G__29222){
return cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"fire-rate","fire-rate",-1458689931));
}),(function (G__29222){
return cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"flags","flags",1775418075));
}),(function (G__29222){
return cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"guidance-flags","guidance-flags",343892844));
}),(function (G__29222){
return cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"hit-chance","hit-chance",-2087636980));
}),(function (G__29222){
return cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"max-alt","max-alt",-363233306));
}),(function (G__29222){
return cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"name","name",1843675177));
}),(function (G__29222){
return cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362));
}),(function (G__29222){
return cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"range","range",1639692286));
}),(function (G__29222){
return cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"rariety","rariety",1749498612));
}),(function (G__29222){
return cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"sim-data-idx","sim-data-idx",-713604174));
}),(function (G__29222){
return cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"simweap-index","simweap-index",1674222081));
}),(function (G__29222){
return cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"strength","strength",-415606478));
}),(function (G__29222){
return cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"weight","weight",-1262796205));
})], null),(function (G__29222){
return ((cljs.core.map_QMARK_.call(null,G__29222)) && (cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649))) && (cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"blast-radius","blast-radius",796954270))) && (cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"collective","collective",-1678283599))) && (cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"damage-type","damage-type",898770578))) && (cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"drag-index","drag-index",-207918117))) && (cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"fire-rate","fire-rate",-1458689931))) && (cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"flags","flags",1775418075))) && (cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"guidance-flags","guidance-flags",343892844))) && (cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"hit-chance","hit-chance",-2087636980))) && (cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"max-alt","max-alt",-363233306))) && (cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"name","name",1843675177))) && (cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362))) && (cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"range","range",1639692286))) && (cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"rariety","rariety",1749498612))) && (cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"sim-data-idx","sim-data-idx",-713604174))) && (cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"simweap-index","simweap-index",1674222081))) && (cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"strength","strength",-415606478))) && (cljs.core.contains_QMARK_.call(null,G__29222,new cljs.core.Keyword(null,"weight","weight",-1262796205))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 18, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","blast-radius","weathergen.falcon.files.mission/blast-radius",-893643496),new cljs.core.Keyword("weathergen.falcon.files.mission","collective","weathergen.falcon.files.mission/collective",917301039),new cljs.core.Keyword("weathergen.falcon.files.mission","damage-type","weathergen.falcon.files.mission/damage-type",-1873891064),new cljs.core.Keyword("weathergen.falcon.files.mission","drag-index","weathergen.falcon.files.mission/drag-index",-2005929375),new cljs.core.Keyword("weathergen.falcon.files.mission","fire-rate","weathergen.falcon.files.mission/fire-rate",71993823),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","guidance-flags","weathergen.falcon.files.mission/guidance-flags",-1984721442),new cljs.core.Keyword("weathergen.falcon.files.mission","hit-chance","weathergen.falcon.files.mission/hit-chance",-532962394),new cljs.core.Keyword("weathergen.falcon.files.mission","max-alt","weathergen.falcon.files.mission/max-alt",1099967840),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","radar-type","weathergen.falcon.files.mission/radar-type",691386808),new cljs.core.Keyword("weathergen.falcon.files.mission","range","weathergen.falcon.files.mission/range",76948868),new cljs.core.Keyword("weathergen.falcon.files.mission","rariety","weathergen.falcon.files.mission/rariety",1140404326),new cljs.core.Keyword("weathergen.falcon.files.mission","sim-data-idx","weathergen.falcon.files.mission/sim-data-idx",-157488080),new cljs.core.Keyword("weathergen.falcon.files.mission","simweap-index","weathergen.falcon.files.mission/simweap-index",-24898421),new cljs.core.Keyword("weathergen.falcon.files.mission","strength","weathergen.falcon.files.mission/strength",-889401924),new cljs.core.Keyword("weathergen.falcon.files.mission","weight","weathergen.falcon.files.mission/weight",167623877)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649)], null),new cljs.core.PersistentVector(null, 18, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword(null,"blast-radius","blast-radius",796954270),new cljs.core.Keyword(null,"collective","collective",-1678283599),new cljs.core.Keyword(null,"damage-type","damage-type",898770578),new cljs.core.Keyword(null,"drag-index","drag-index",-207918117),new cljs.core.Keyword(null,"fire-rate","fire-rate",-1458689931),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.Keyword(null,"guidance-flags","guidance-flags",343892844),new cljs.core.Keyword(null,"hit-chance","hit-chance",-2087636980),new cljs.core.Keyword(null,"max-alt","max-alt",-363233306),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362),new cljs.core.Keyword(null,"range","range",1639692286),new cljs.core.Keyword(null,"rariety","rariety",1749498612),new cljs.core.Keyword(null,"sim-data-idx","sim-data-idx",-713604174),new cljs.core.Keyword(null,"simweap-index","simweap-index",1674222081),new cljs.core.Keyword(null,"strength","strength",-415606478),new cljs.core.Keyword(null,"weight","weight",-1262796205)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 19, 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.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649))),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(null,"blast-radius","blast-radius",796954270))),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(null,"collective","collective",-1678283599))),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(null,"damage-type","damage-type",898770578))),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(null,"drag-index","drag-index",-207918117))),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(null,"fire-rate","fire-rate",-1458689931))),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(null,"flags","flags",1775418075))),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(null,"guidance-flags","guidance-flags",343892844))),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(null,"hit-chance","hit-chance",-2087636980))),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(null,"max-alt","max-alt",-363233306))),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(null,"name","name",1843675177))),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(null,"radar-type","radar-type",-1913447362))),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(null,"range","range",1639692286))),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(null,"rariety","rariety",1749498612))),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(null,"sim-data-idx","sim-data-idx",-713604174))),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(null,"simweap-index","simweap-index",1674222081))),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(null,"strength","strength",-415606478))),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(null,"weight","weight",-1262796205)))], null),null]));
weathergen.falcon.files.mission.Weapon = cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","WeaponClassData","weathergen.falcon.files.mission/WeaponClassData",494120455,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.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)], null))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.WeaponClassData,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__29223){
return cljs.core.map_QMARK_.call(null,G__29223);
}),(function (G__29223){
return cljs.core.contains_QMARK_.call(null,G__29223,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975));
})], null),(function (G__29223){
return ((cljs.core.map_QMARK_.call(null,G__29223)) && (cljs.core.contains_QMARK_.call(null,G__29223,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)], 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.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)))], null),null]))], null),null);
weathergen.falcon.files.mission.FeatureClassData = 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)],[new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","repair-time","weathergen.falcon.files.mission/repair-time",-868535751),new cljs.core.Keyword("weathergen.falcon.files.mission","priority","weathergen.falcon.files.mission/priority",1887991877),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","hit-points","weathergen.falcon.files.mission/hit-points",653556402),new cljs.core.Keyword("weathergen.falcon.files.mission","height","weathergen.falcon.files.mission/height",433886072),new cljs.core.Keyword("weathergen.falcon.files.mission","angle","weathergen.falcon.files.mission/angle",-1008427980),new cljs.core.Keyword("weathergen.falcon.files.mission","radar-type","weathergen.falcon.files.mission/radar-type",691386808),new cljs.core.Keyword("weathergen.falcon.files.mission","detection","weathergen.falcon.files.mission/detection",83329163),new cljs.core.Keyword("weathergen.falcon.files.mission","damage-mod","weathergen.falcon.files.mission/damage-mod",1747505998)], null),null,null,new cljs.core.PersistentVector(null, 11, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29224){
return cljs.core.map_QMARK_.call(null,G__29224);
}),(function (G__29224){
return cljs.core.contains_QMARK_.call(null,G__29224,new cljs.core.Keyword(null,"repair-time","repair-time",699642051));
}),(function (G__29224){
return cljs.core.contains_QMARK_.call(null,G__29224,new cljs.core.Keyword(null,"priority","priority",1431093715));
}),(function (G__29224){
return cljs.core.contains_QMARK_.call(null,G__29224,new cljs.core.Keyword(null,"flags","flags",1775418075));
}),(function (G__29224){
return cljs.core.contains_QMARK_.call(null,G__29224,new cljs.core.Keyword(null,"name","name",1843675177));
}),(function (G__29224){
return cljs.core.contains_QMARK_.call(null,G__29224,new cljs.core.Keyword(null,"hit-points","hit-points",-906296276));
}),(function (G__29224){
return cljs.core.contains_QMARK_.call(null,G__29224,new cljs.core.Keyword(null,"height","height",1025178622));
}),(function (G__29224){
return cljs.core.contains_QMARK_.call(null,G__29224,new cljs.core.Keyword(null,"angle","angle",1622094254));
}),(function (G__29224){
return cljs.core.contains_QMARK_.call(null,G__29224,new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362));
}),(function (G__29224){
return cljs.core.contains_QMARK_.call(null,G__29224,new cljs.core.Keyword(null,"detection","detection",-1580072483));
}),(function (G__29224){
return cljs.core.contains_QMARK_.call(null,G__29224,new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116));
})], null),(function (G__29224){
return ((cljs.core.map_QMARK_.call(null,G__29224)) && (cljs.core.contains_QMARK_.call(null,G__29224,new cljs.core.Keyword(null,"repair-time","repair-time",699642051))) && (cljs.core.contains_QMARK_.call(null,G__29224,new cljs.core.Keyword(null,"priority","priority",1431093715))) && (cljs.core.contains_QMARK_.call(null,G__29224,new cljs.core.Keyword(null,"flags","flags",1775418075))) && (cljs.core.contains_QMARK_.call(null,G__29224,new cljs.core.Keyword(null,"name","name",1843675177))) && (cljs.core.contains_QMARK_.call(null,G__29224,new cljs.core.Keyword(null,"hit-points","hit-points",-906296276))) && (cljs.core.contains_QMARK_.call(null,G__29224,new cljs.core.Keyword(null,"height","height",1025178622))) && (cljs.core.contains_QMARK_.call(null,G__29224,new cljs.core.Keyword(null,"angle","angle",1622094254))) && (cljs.core.contains_QMARK_.call(null,G__29224,new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362))) && (cljs.core.contains_QMARK_.call(null,G__29224,new cljs.core.Keyword(null,"detection","detection",-1580072483))) && (cljs.core.contains_QMARK_.call(null,G__29224,new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","repair-time","weathergen.falcon.files.mission/repair-time",-868535751),new cljs.core.Keyword("weathergen.falcon.files.mission","priority","weathergen.falcon.files.mission/priority",1887991877),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","hit-points","weathergen.falcon.files.mission/hit-points",653556402),new cljs.core.Keyword("weathergen.falcon.files.mission","height","weathergen.falcon.files.mission/height",433886072),new cljs.core.Keyword("weathergen.falcon.files.mission","angle","weathergen.falcon.files.mission/angle",-1008427980),new cljs.core.Keyword("weathergen.falcon.files.mission","radar-type","weathergen.falcon.files.mission/radar-type",691386808),new cljs.core.Keyword("weathergen.falcon.files.mission","detection","weathergen.falcon.files.mission/detection",83329163),new cljs.core.Keyword("weathergen.falcon.files.mission","damage-mod","weathergen.falcon.files.mission/damage-mod",1747505998)], null),null,new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"repair-time","repair-time",699642051),new cljs.core.Keyword(null,"priority","priority",1431093715),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"hit-points","hit-points",-906296276),new cljs.core.Keyword(null,"height","height",1025178622),new cljs.core.Keyword(null,"angle","angle",1622094254),new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362),new cljs.core.Keyword(null,"detection","detection",-1580072483),new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 11, 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(null,"repair-time","repair-time",699642051))),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(null,"priority","priority",1431093715))),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(null,"flags","flags",1775418075))),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(null,"name","name",1843675177))),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(null,"hit-points","hit-points",-906296276))),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(null,"height","height",1025178622))),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(null,"angle","angle",1622094254))),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(null,"radar-type","radar-type",-1913447362))),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(null,"detection","detection",-1580072483))),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(null,"damage-mod","damage-mod",-756867116)))], null),null]));
weathergen.falcon.files.mission.FeatureEntryData = 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)],[new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","entity-class","weathergen.falcon.files.mission/entity-class",-208911345),new cljs.core.Keyword("weathergen.falcon.files.mission","value","weathergen.falcon.files.mission/value",-1307089913),new cljs.core.Keyword("weathergen.falcon.files.mission","offset","weathergen.falcon.files.mission/offset",-1108759055),new cljs.core.Keyword("weathergen.falcon.files.mission","facing","weathergen.falcon.files.mission/facing",566993313)], null),null,null,new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29225){
return cljs.core.map_QMARK_.call(null,G__29225);
}),(function (G__29225){
return cljs.core.contains_QMARK_.call(null,G__29225,new cljs.core.Keyword(null,"index","index",-1531685915));
}),(function (G__29225){
return cljs.core.contains_QMARK_.call(null,G__29225,new cljs.core.Keyword(null,"flags","flags",1775418075));
}),(function (G__29225){
return cljs.core.contains_QMARK_.call(null,G__29225,new cljs.core.Keyword(null,"entity-class","entity-class",-1906919579));
}),(function (G__29225){
return cljs.core.contains_QMARK_.call(null,G__29225,new cljs.core.Keyword(null,"value","value",305978217));
}),(function (G__29225){
return cljs.core.contains_QMARK_.call(null,G__29225,new cljs.core.Keyword(null,"offset","offset",296498311));
}),(function (G__29225){
return cljs.core.contains_QMARK_.call(null,G__29225,new cljs.core.Keyword(null,"facing","facing",-854439413));
})], null),(function (G__29225){
return ((cljs.core.map_QMARK_.call(null,G__29225)) && (cljs.core.contains_QMARK_.call(null,G__29225,new cljs.core.Keyword(null,"index","index",-1531685915))) && (cljs.core.contains_QMARK_.call(null,G__29225,new cljs.core.Keyword(null,"flags","flags",1775418075))) && (cljs.core.contains_QMARK_.call(null,G__29225,new cljs.core.Keyword(null,"entity-class","entity-class",-1906919579))) && (cljs.core.contains_QMARK_.call(null,G__29225,new cljs.core.Keyword(null,"value","value",305978217))) && (cljs.core.contains_QMARK_.call(null,G__29225,new cljs.core.Keyword(null,"offset","offset",296498311))) && (cljs.core.contains_QMARK_.call(null,G__29225,new cljs.core.Keyword(null,"facing","facing",-854439413))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","entity-class","weathergen.falcon.files.mission/entity-class",-208911345),new cljs.core.Keyword("weathergen.falcon.files.mission","value","weathergen.falcon.files.mission/value",-1307089913),new cljs.core.Keyword("weathergen.falcon.files.mission","offset","weathergen.falcon.files.mission/offset",-1108759055),new cljs.core.Keyword("weathergen.falcon.files.mission","facing","weathergen.falcon.files.mission/facing",566993313)], null),null,new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"index","index",-1531685915),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.Keyword(null,"entity-class","entity-class",-1906919579),new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"offset","offset",296498311),new cljs.core.Keyword(null,"facing","facing",-854439413)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 7, 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(null,"index","index",-1531685915))),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(null,"flags","flags",1775418075))),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(null,"entity-class","entity-class",-1906919579))),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(null,"value","value",305978217))),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(null,"offset","offset",296498311))),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(null,"facing","facing",-854439413)))], null),null]));
weathergen.falcon.files.mission.PointHeaderData = 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)],[new cljs.core.PersistentVector(null, 12, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","obj-id","weathergen.falcon.files.mission/obj-id",1379538503),new cljs.core.Keyword("weathergen.falcon.files.mission","type","weathergen.falcon.files.mission/type",-1571457242),new cljs.core.Keyword("weathergen.falcon.files.mission","count","weathergen.falcon.files.mission/count",581373935),new cljs.core.Keyword("raw","features","raw/features",-1146784184),new cljs.core.Keyword("weathergen.falcon.files.mission","data","weathergen.falcon.files.mission/data",-1670632779),new cljs.core.Keyword("weathergen.falcon.files.mission","sin-heading","weathergen.falcon.files.mission/sin-heading",913404991),new cljs.core.Keyword("weathergen.falcon.files.mission","cos-heading","weathergen.falcon.files.mission/cos-heading",2120170350),new cljs.core.Keyword("weathergen.falcon.files.mission","first","weathergen.falcon.files.mission/first",1012611588),new cljs.core.Keyword("weathergen.falcon.files.mission","tex-idx","weathergen.falcon.files.mission/tex-idx",-1298075695),new cljs.core.Keyword("weathergen.falcon.files.mission","runway-num","weathergen.falcon.files.mission/runway-num",1516861086),new cljs.core.Keyword("weathergen.falcon.files.mission","ltrt","weathergen.falcon.files.mission/ltrt",1657658217),new cljs.core.Keyword("weathergen.falcon.files.mission","next-header","weathergen.falcon.files.mission/next-header",-278788297)], null),null,null,new cljs.core.PersistentVector(null, 13, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29226){
return cljs.core.map_QMARK_.call(null,G__29226);
}),(function (G__29226){
return cljs.core.contains_QMARK_.call(null,G__29226,new cljs.core.Keyword(null,"obj-id","obj-id",1871733713));
}),(function (G__29226){
return cljs.core.contains_QMARK_.call(null,G__29226,new cljs.core.Keyword(null,"type","type",1174270348));
}),(function (G__29226){
return cljs.core.contains_QMARK_.call(null,G__29226,new cljs.core.Keyword(null,"count","count",2139924085));
}),(function (G__29226){
return cljs.core.contains_QMARK_.call(null,G__29226,new cljs.core.Keyword(null,"features","features",-1146962336));
}),(function (G__29226){
return cljs.core.contains_QMARK_.call(null,G__29226,new cljs.core.Keyword(null,"data","data",-232669377));
}),(function (G__29226){
return cljs.core.contains_QMARK_.call(null,G__29226,new cljs.core.Keyword(null,"sin-heading","sin-heading",-1506379307));
}),(function (G__29226){
return cljs.core.contains_QMARK_.call(null,G__29226,new cljs.core.Keyword(null,"cos-heading","cos-heading",-514525192));
}),(function (G__29226){
return cljs.core.contains_QMARK_.call(null,G__29226,new cljs.core.Keyword(null,"first","first",-644103046));
}),(function (G__29226){
return cljs.core.contains_QMARK_.call(null,G__29226,new cljs.core.Keyword(null,"tex-idx","tex-idx",1332437579));
}),(function (G__29226){
return cljs.core.contains_QMARK_.call(null,G__29226,new cljs.core.Keyword(null,"runway-num","runway-num",-1171395800));
}),(function (G__29226){
return cljs.core.contains_QMARK_.call(null,G__29226,new cljs.core.Keyword(null,"ltrt","ltrt",2069439));
}),(function (G__29226){
return cljs.core.contains_QMARK_.call(null,G__29226,new cljs.core.Keyword(null,"next-header","next-header",1386001069));
})], null),(function (G__29226){
return ((cljs.core.map_QMARK_.call(null,G__29226)) && (cljs.core.contains_QMARK_.call(null,G__29226,new cljs.core.Keyword(null,"obj-id","obj-id",1871733713))) && (cljs.core.contains_QMARK_.call(null,G__29226,new cljs.core.Keyword(null,"type","type",1174270348))) && (cljs.core.contains_QMARK_.call(null,G__29226,new cljs.core.Keyword(null,"count","count",2139924085))) && (cljs.core.contains_QMARK_.call(null,G__29226,new cljs.core.Keyword(null,"features","features",-1146962336))) && (cljs.core.contains_QMARK_.call(null,G__29226,new cljs.core.Keyword(null,"data","data",-232669377))) && (cljs.core.contains_QMARK_.call(null,G__29226,new cljs.core.Keyword(null,"sin-heading","sin-heading",-1506379307))) && (cljs.core.contains_QMARK_.call(null,G__29226,new cljs.core.Keyword(null,"cos-heading","cos-heading",-514525192))) && (cljs.core.contains_QMARK_.call(null,G__29226,new cljs.core.Keyword(null,"first","first",-644103046))) && (cljs.core.contains_QMARK_.call(null,G__29226,new cljs.core.Keyword(null,"tex-idx","tex-idx",1332437579))) && (cljs.core.contains_QMARK_.call(null,G__29226,new cljs.core.Keyword(null,"runway-num","runway-num",-1171395800))) && (cljs.core.contains_QMARK_.call(null,G__29226,new cljs.core.Keyword(null,"ltrt","ltrt",2069439))) && (cljs.core.contains_QMARK_.call(null,G__29226,new cljs.core.Keyword(null,"next-header","next-header",1386001069))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 12, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","obj-id","weathergen.falcon.files.mission/obj-id",1379538503),new cljs.core.Keyword("weathergen.falcon.files.mission","type","weathergen.falcon.files.mission/type",-1571457242),new cljs.core.Keyword("weathergen.falcon.files.mission","count","weathergen.falcon.files.mission/count",581373935),new cljs.core.Keyword("raw","features","raw/features",-1146784184),new cljs.core.Keyword("weathergen.falcon.files.mission","data","weathergen.falcon.files.mission/data",-1670632779),new cljs.core.Keyword("weathergen.falcon.files.mission","sin-heading","weathergen.falcon.files.mission/sin-heading",913404991),new cljs.core.Keyword("weathergen.falcon.files.mission","cos-heading","weathergen.falcon.files.mission/cos-heading",2120170350),new cljs.core.Keyword("weathergen.falcon.files.mission","first","weathergen.falcon.files.mission/first",1012611588),new cljs.core.Keyword("weathergen.falcon.files.mission","tex-idx","weathergen.falcon.files.mission/tex-idx",-1298075695),new cljs.core.Keyword("weathergen.falcon.files.mission","runway-num","weathergen.falcon.files.mission/runway-num",1516861086),new cljs.core.Keyword("weathergen.falcon.files.mission","ltrt","weathergen.falcon.files.mission/ltrt",1657658217),new cljs.core.Keyword("weathergen.falcon.files.mission","next-header","weathergen.falcon.files.mission/next-header",-278788297)], null),null,new cljs.core.PersistentVector(null, 12, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"obj-id","obj-id",1871733713),new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Keyword(null,"features","features",-1146962336),new cljs.core.Keyword(null,"data","data",-232669377),new cljs.core.Keyword(null,"sin-heading","sin-heading",-1506379307),new cljs.core.Keyword(null,"cos-heading","cos-heading",-514525192),new cljs.core.Keyword(null,"first","first",-644103046),new cljs.core.Keyword(null,"tex-idx","tex-idx",1332437579),new cljs.core.Keyword(null,"runway-num","runway-num",-1171395800),new cljs.core.Keyword(null,"ltrt","ltrt",2069439),new cljs.core.Keyword(null,"next-header","next-header",1386001069)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 13, 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(null,"obj-id","obj-id",1871733713))),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(null,"type","type",1174270348))),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(null,"count","count",2139924085))),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(null,"features","features",-1146962336))),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(null,"data","data",-232669377))),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(null,"sin-heading","sin-heading",-1506379307))),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(null,"cos-heading","cos-heading",-514525192))),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(null,"first","first",-644103046))),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(null,"tex-idx","tex-idx",1332437579))),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(null,"runway-num","runway-num",-1171395800))),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(null,"ltrt","ltrt",2069439))),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(null,"next-header","next-header",1386001069)))], null),null]));
weathergen.falcon.files.mission.IdList = 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)],[new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","id->name","weathergen.falcon.files.mission/id->name",1915082760),new cljs.core.Keyword("weathergen.falcon.files.mission","name->id","weathergen.falcon.files.mission/name->id",1859267374)], null),null,null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29227){
return cljs.core.map_QMARK_.call(null,G__29227);
}),(function (G__29227){
return cljs.core.contains_QMARK_.call(null,G__29227,new cljs.core.Keyword(null,"id->name","id->name",249122446));
}),(function (G__29227){
return cljs.core.contains_QMARK_.call(null,G__29227,new cljs.core.Keyword(null,"name->id","name->id",-338114168));
})], null),(function (G__29227){
return ((cljs.core.map_QMARK_.call(null,G__29227)) && (cljs.core.contains_QMARK_.call(null,G__29227,new cljs.core.Keyword(null,"id->name","id->name",249122446))) && (cljs.core.contains_QMARK_.call(null,G__29227,new cljs.core.Keyword(null,"name->id","name->id",-338114168))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","id->name","weathergen.falcon.files.mission/id->name",1915082760),new cljs.core.Keyword("weathergen.falcon.files.mission","name->id","weathergen.falcon.files.mission/name->id",1859267374)], null),null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"id->name","id->name",249122446),new cljs.core.Keyword(null,"name->id","name->id",-338114168)], 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(null,"id->name","id->name",249122446))),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(null,"name->id","name->id",-338114168)))], null),null]));
weathergen.falcon.files.mission.InitialDatabase = 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)],[new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","class-table","weathergen.falcon.files.mission/class-table",-1856555830),new cljs.core.Keyword("weathergen.falcon.files.mission","unit-class-data","weathergen.falcon.files.mission/unit-class-data",-341212057),new cljs.core.Keyword("weathergen.falcon.files.mission","objective-class-data","weathergen.falcon.files.mission/objective-class-data",-488267802),new cljs.core.Keyword("weathergen.falcon.files.mission","vehicle-class-data","weathergen.falcon.files.mission/vehicle-class-data",-131845879),new cljs.core.Keyword("weathergen.falcon.files.mission","weapon-class-data","weathergen.falcon.files.mission/weapon-class-data",-1245893783),new cljs.core.Keyword("weathergen.falcon.files.mission","feature-class-data","weathergen.falcon.files.mission/feature-class-data",794598458),new cljs.core.Keyword("weathergen.falcon.files.mission","feature-entry-data","weathergen.falcon.files.mission/feature-entry-data",-693978767),new cljs.core.Keyword("weathergen.falcon.files.mission","point-header-data","weathergen.falcon.files.mission/point-header-data",-561631475),new cljs.core.Keyword("weathergen.falcon.files.mission","image-ids","weathergen.falcon.files.mission/image-ids",2141950065),new cljs.core.Keyword("weathergen.falcon.files.mission","user-ids","weathergen.falcon.files.mission/user-ids",2086909600)], null),null,null,new cljs.core.PersistentVector(null, 11, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29228){
return cljs.core.map_QMARK_.call(null,G__29228);
}),(function (G__29228){
return cljs.core.contains_QMARK_.call(null,G__29228,new cljs.core.Keyword(null,"class-table","class-table",207400992));
}),(function (G__29228){
return cljs.core.contains_QMARK_.call(null,G__29228,new cljs.core.Keyword(null,"unit-class-data","unit-class-data",2122324209));
}),(function (G__29228){
return cljs.core.contains_QMARK_.call(null,G__29228,new cljs.core.Keyword(null,"objective-class-data","objective-class-data",-2036255156));
}),(function (G__29228){
return cljs.core.contains_QMARK_.call(null,G__29228,new cljs.core.Keyword(null,"vehicle-class-data","vehicle-class-data",1666024339));
}),(function (G__29228){
return cljs.core.contains_QMARK_.call(null,G__29228,new cljs.core.Keyword(null,"weapon-class-data","weapon-class-data",-1828241433));
}),(function (G__29228){
return cljs.core.contains_QMARK_.call(null,G__29228,new cljs.core.Keyword(null,"feature-class-data","feature-class-data",-794349644));
}),(function (G__29228){
return cljs.core.contains_QMARK_.call(null,G__29228,new cljs.core.Keyword(null,"feature-entry-data","feature-entry-data",-87481893));
}),(function (G__29228){
return cljs.core.contains_QMARK_.call(null,G__29228,new cljs.core.Keyword(null,"point-header-data","point-header-data",2108405911));
}),(function (G__29228){
return cljs.core.contains_QMARK_.call(null,G__29228,new cljs.core.Keyword(null,"image-ids","image-ids",-529925649));
}),(function (G__29228){
return cljs.core.contains_QMARK_.call(null,G__29228,new cljs.core.Keyword(null,"user-ids","user-ids",-652076250));
})], null),(function (G__29228){
return ((cljs.core.map_QMARK_.call(null,G__29228)) && (cljs.core.contains_QMARK_.call(null,G__29228,new cljs.core.Keyword(null,"class-table","class-table",207400992))) && (cljs.core.contains_QMARK_.call(null,G__29228,new cljs.core.Keyword(null,"unit-class-data","unit-class-data",2122324209))) && (cljs.core.contains_QMARK_.call(null,G__29228,new cljs.core.Keyword(null,"objective-class-data","objective-class-data",-2036255156))) && (cljs.core.contains_QMARK_.call(null,G__29228,new cljs.core.Keyword(null,"vehicle-class-data","vehicle-class-data",1666024339))) && (cljs.core.contains_QMARK_.call(null,G__29228,new cljs.core.Keyword(null,"weapon-class-data","weapon-class-data",-1828241433))) && (cljs.core.contains_QMARK_.call(null,G__29228,new cljs.core.Keyword(null,"feature-class-data","feature-class-data",-794349644))) && (cljs.core.contains_QMARK_.call(null,G__29228,new cljs.core.Keyword(null,"feature-entry-data","feature-entry-data",-87481893))) && (cljs.core.contains_QMARK_.call(null,G__29228,new cljs.core.Keyword(null,"point-header-data","point-header-data",2108405911))) && (cljs.core.contains_QMARK_.call(null,G__29228,new cljs.core.Keyword(null,"image-ids","image-ids",-529925649))) && (cljs.core.contains_QMARK_.call(null,G__29228,new cljs.core.Keyword(null,"user-ids","user-ids",-652076250))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","class-table","weathergen.falcon.files.mission/class-table",-1856555830),new cljs.core.Keyword("weathergen.falcon.files.mission","unit-class-data","weathergen.falcon.files.mission/unit-class-data",-341212057),new cljs.core.Keyword("weathergen.falcon.files.mission","objective-class-data","weathergen.falcon.files.mission/objective-class-data",-488267802),new cljs.core.Keyword("weathergen.falcon.files.mission","vehicle-class-data","weathergen.falcon.files.mission/vehicle-class-data",-131845879),new cljs.core.Keyword("weathergen.falcon.files.mission","weapon-class-data","weathergen.falcon.files.mission/weapon-class-data",-1245893783),new cljs.core.Keyword("weathergen.falcon.files.mission","feature-class-data","weathergen.falcon.files.mission/feature-class-data",794598458),new cljs.core.Keyword("weathergen.falcon.files.mission","feature-entry-data","weathergen.falcon.files.mission/feature-entry-data",-693978767),new cljs.core.Keyword("weathergen.falcon.files.mission","point-header-data","weathergen.falcon.files.mission/point-header-data",-561631475),new cljs.core.Keyword("weathergen.falcon.files.mission","image-ids","weathergen.falcon.files.mission/image-ids",2141950065),new cljs.core.Keyword("weathergen.falcon.files.mission","user-ids","weathergen.falcon.files.mission/user-ids",2086909600)], null),null,new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"class-table","class-table",207400992),new cljs.core.Keyword(null,"unit-class-data","unit-class-data",2122324209),new cljs.core.Keyword(null,"objective-class-data","objective-class-data",-2036255156),new cljs.core.Keyword(null,"vehicle-class-data","vehicle-class-data",1666024339),new cljs.core.Keyword(null,"weapon-class-data","weapon-class-data",-1828241433),new cljs.core.Keyword(null,"feature-class-data","feature-class-data",-794349644),new cljs.core.Keyword(null,"feature-entry-data","feature-entry-data",-87481893),new cljs.core.Keyword(null,"point-header-data","point-header-data",2108405911),new cljs.core.Keyword(null,"image-ids","image-ids",-529925649),new cljs.core.Keyword(null,"user-ids","user-ids",-652076250)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 11, 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(null,"class-table","class-table",207400992))),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(null,"unit-class-data","unit-class-data",2122324209))),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(null,"objective-class-data","objective-class-data",-2036255156))),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(null,"vehicle-class-data","vehicle-class-data",1666024339))),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(null,"weapon-class-data","weapon-class-data",-1828241433))),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(null,"feature-class-data","feature-class-data",-794349644))),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(null,"feature-entry-data","feature-entry-data",-87481893))),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(null,"point-header-data","point-header-data",2108405911))),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(null,"image-ids","image-ids",-529925649))),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(null,"user-ids","user-ids",-652076250)))], null),null]));
weathergen.falcon.files.mission.Database = cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","InitialDatabase","weathergen.falcon.files.mission/InitialDatabase",1423333610,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","strings","weathergen.falcon.files.mission/strings",-524118625)], null))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.InitialDatabase,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)],[new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","strings","weathergen.falcon.files.mission/strings",-524118625)], null),null,null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29229){
return cljs.core.map_QMARK_.call(null,G__29229);
}),(function (G__29229){
return cljs.core.contains_QMARK_.call(null,G__29229,new cljs.core.Keyword(null,"strings","strings",-2055406807));
})], null),(function (G__29229){
return ((cljs.core.map_QMARK_.call(null,G__29229)) && (cljs.core.contains_QMARK_.call(null,G__29229,new cljs.core.Keyword(null,"strings","strings",-2055406807))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","strings","weathergen.falcon.files.mission/strings",-524118625)], null),null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"strings","strings",-2055406807)], 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(null,"strings","strings",-2055406807)))], null),null]))], null),null);
weathergen.falcon.files.mission.EventNode = 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)],[new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078),new cljs.core.Keyword("weathergen.falcon.files.mission","time","weathergen.falcon.files.mission/time",-1351271916),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","team","weathergen.falcon.files.mission/team",-1375167511),new cljs.core.Keyword("weathergen.falcon.files.mission","event-text","weathergen.falcon.files.mission/event-text",859621336),new cljs.core.Keyword("weathergen.falcon.files.mission","ui-event-node","weathergen.falcon.files.mission/ui-event-node",1360418108)], null),null,null,new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29230){
return cljs.core.map_QMARK_.call(null,G__29230);
}),(function (G__29230){
return cljs.core.contains_QMARK_.call(null,G__29230,new cljs.core.Keyword(null,"x","x",2099068185));
}),(function (G__29230){
return cljs.core.contains_QMARK_.call(null,G__29230,new cljs.core.Keyword(null,"y","y",-1757859776));
}),(function (G__29230){
return cljs.core.contains_QMARK_.call(null,G__29230,new cljs.core.Keyword(null,"time","time",1385887882));
}),(function (G__29230){
return cljs.core.contains_QMARK_.call(null,G__29230,new cljs.core.Keyword(null,"flags","flags",1775418075));
}),(function (G__29230){
return cljs.core.contains_QMARK_.call(null,G__29230,new cljs.core.Keyword(null,"team","team",1355747699));
}),(function (G__29230){
return cljs.core.contains_QMARK_.call(null,G__29230,new cljs.core.Keyword(null,"event-text","event-text",-1878870726));
}),(function (G__29230){
return cljs.core.contains_QMARK_.call(null,G__29230,new cljs.core.Keyword(null,"ui-event-node","ui-event-node",-1345265994));
})], null),(function (G__29230){
return ((cljs.core.map_QMARK_.call(null,G__29230)) && (cljs.core.contains_QMARK_.call(null,G__29230,new cljs.core.Keyword(null,"x","x",2099068185))) && (cljs.core.contains_QMARK_.call(null,G__29230,new cljs.core.Keyword(null,"y","y",-1757859776))) && (cljs.core.contains_QMARK_.call(null,G__29230,new cljs.core.Keyword(null,"time","time",1385887882))) && (cljs.core.contains_QMARK_.call(null,G__29230,new cljs.core.Keyword(null,"flags","flags",1775418075))) && (cljs.core.contains_QMARK_.call(null,G__29230,new cljs.core.Keyword(null,"team","team",1355747699))) && (cljs.core.contains_QMARK_.call(null,G__29230,new cljs.core.Keyword(null,"event-text","event-text",-1878870726))) && (cljs.core.contains_QMARK_.call(null,G__29230,new cljs.core.Keyword(null,"ui-event-node","ui-event-node",-1345265994))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078),new cljs.core.Keyword("weathergen.falcon.files.mission","time","weathergen.falcon.files.mission/time",-1351271916),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","team","weathergen.falcon.files.mission/team",-1375167511),new cljs.core.Keyword("weathergen.falcon.files.mission","event-text","weathergen.falcon.files.mission/event-text",859621336),new cljs.core.Keyword("weathergen.falcon.files.mission","ui-event-node","weathergen.falcon.files.mission/ui-event-node",1360418108)], null),null,new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"x","x",2099068185),new cljs.core.Keyword(null,"y","y",-1757859776),new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.Keyword(null,"team","team",1355747699),new cljs.core.Keyword(null,"event-text","event-text",-1878870726),new cljs.core.Keyword(null,"ui-event-node","ui-event-node",-1345265994)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 8, 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(null,"x","x",2099068185))),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(null,"y","y",-1757859776))),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(null,"time","time",1385887882))),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(null,"flags","flags",1775418075))),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(null,"team","team",1355747699))),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(null,"event-text","event-text",-1878870726))),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(null,"ui-event-node","ui-event-node",-1345265994)))], null),null]));
weathergen.falcon.files.mission.SquadronInfo = 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)],[new cljs.core.PersistentVector(null, 11, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","airbase-icon","weathergen.falcon.files.mission/airbase-icon",1415673734),new cljs.core.Keyword("weathergen.falcon.files.mission","airbase-name","weathergen.falcon.files.mission/airbase-name",-2098077019),new cljs.core.Keyword("weathergen.falcon.files.mission","country","weathergen.falcon.files.mission/country",-2015827389),new cljs.core.Keyword("weathergen.falcon.files.mission","current-strength","weathergen.falcon.files.mission/current-strength",2072387746),new cljs.core.Keyword("weathergen.falcon.files.mission","description-index","weathergen.falcon.files.mission/description-index",385969124),new cljs.core.Keyword("vu","id","vu/id",-1388397675),new cljs.core.Keyword("weathergen.falcon.files.mission","name-id","weathergen.falcon.files.mission/name-id",-1810014458),new cljs.core.Keyword("weathergen.falcon.files.mission","specialty","weathergen.falcon.files.mission/specialty",-571641396),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-patch","weathergen.falcon.files.mission/squadron-patch",-1846053444),new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078)], null),null,null,new cljs.core.PersistentVector(null, 12, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29231){
return cljs.core.map_QMARK_.call(null,G__29231);
}),(function (G__29231){
return cljs.core.contains_QMARK_.call(null,G__29231,new cljs.core.Keyword(null,"airbase-icon","airbase-icon",-1322581504));
}),(function (G__29231){
return cljs.core.contains_QMARK_.call(null,G__29231,new cljs.core.Keyword(null,"airbase-name","airbase-name",-1509991393));
}),(function (G__29231){
return cljs.core.contains_QMARK_.call(null,G__29231,new cljs.core.Keyword(null,"country","country",312965309));
}),(function (G__29231){
return cljs.core.contains_QMARK_.call(null,G__29231,new cljs.core.Keyword(null,"current-strength","current-strength",-809786824));
}),(function (G__29231){
return cljs.core.contains_QMARK_.call(null,G__29231,new cljs.core.Keyword(null,"description-index","description-index",1949024606));
}),(function (G__29231){
return cljs.core.contains_QMARK_.call(null,G__29231,new cljs.core.Keyword(null,"id","id",-1388402092));
}),(function (G__29231){
return cljs.core.contains_QMARK_.call(null,G__29231,new cljs.core.Keyword(null,"name-id","name-id",-279275372));
}),(function (G__29231){
return cljs.core.contains_QMARK_.call(null,G__29231,new cljs.core.Keyword(null,"specialty","specialty",-159219386));
}),(function (G__29231){
return cljs.core.contains_QMARK_.call(null,G__29231,new cljs.core.Keyword(null,"squadron-patch","squadron-patch",883934030));
}),(function (G__29231){
return cljs.core.contains_QMARK_.call(null,G__29231,new cljs.core.Keyword(null,"x","x",2099068185));
}),(function (G__29231){
return cljs.core.contains_QMARK_.call(null,G__29231,new cljs.core.Keyword(null,"y","y",-1757859776));
})], null),(function (G__29231){
return ((cljs.core.map_QMARK_.call(null,G__29231)) && (cljs.core.contains_QMARK_.call(null,G__29231,new cljs.core.Keyword(null,"airbase-icon","airbase-icon",-1322581504))) && (cljs.core.contains_QMARK_.call(null,G__29231,new cljs.core.Keyword(null,"airbase-name","airbase-name",-1509991393))) && (cljs.core.contains_QMARK_.call(null,G__29231,new cljs.core.Keyword(null,"country","country",312965309))) && (cljs.core.contains_QMARK_.call(null,G__29231,new cljs.core.Keyword(null,"current-strength","current-strength",-809786824))) && (cljs.core.contains_QMARK_.call(null,G__29231,new cljs.core.Keyword(null,"description-index","description-index",1949024606))) && (cljs.core.contains_QMARK_.call(null,G__29231,new cljs.core.Keyword(null,"id","id",-1388402092))) && (cljs.core.contains_QMARK_.call(null,G__29231,new cljs.core.Keyword(null,"name-id","name-id",-279275372))) && (cljs.core.contains_QMARK_.call(null,G__29231,new cljs.core.Keyword(null,"specialty","specialty",-159219386))) && (cljs.core.contains_QMARK_.call(null,G__29231,new cljs.core.Keyword(null,"squadron-patch","squadron-patch",883934030))) && (cljs.core.contains_QMARK_.call(null,G__29231,new cljs.core.Keyword(null,"x","x",2099068185))) && (cljs.core.contains_QMARK_.call(null,G__29231,new cljs.core.Keyword(null,"y","y",-1757859776))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 11, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","airbase-icon","weathergen.falcon.files.mission/airbase-icon",1415673734),new cljs.core.Keyword("weathergen.falcon.files.mission","airbase-name","weathergen.falcon.files.mission/airbase-name",-2098077019),new cljs.core.Keyword("weathergen.falcon.files.mission","country","weathergen.falcon.files.mission/country",-2015827389),new cljs.core.Keyword("weathergen.falcon.files.mission","current-strength","weathergen.falcon.files.mission/current-strength",2072387746),new cljs.core.Keyword("weathergen.falcon.files.mission","description-index","weathergen.falcon.files.mission/description-index",385969124),new cljs.core.Keyword("vu","id","vu/id",-1388397675),new cljs.core.Keyword("weathergen.falcon.files.mission","name-id","weathergen.falcon.files.mission/name-id",-1810014458),new cljs.core.Keyword("weathergen.falcon.files.mission","specialty","weathergen.falcon.files.mission/specialty",-571641396),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-patch","weathergen.falcon.files.mission/squadron-patch",-1846053444),new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078)], null),null,new cljs.core.PersistentVector(null, 11, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"airbase-icon","airbase-icon",-1322581504),new cljs.core.Keyword(null,"airbase-name","airbase-name",-1509991393),new cljs.core.Keyword(null,"country","country",312965309),new cljs.core.Keyword(null,"current-strength","current-strength",-809786824),new cljs.core.Keyword(null,"description-index","description-index",1949024606),new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"name-id","name-id",-279275372),new cljs.core.Keyword(null,"specialty","specialty",-159219386),new cljs.core.Keyword(null,"squadron-patch","squadron-patch",883934030),new cljs.core.Keyword(null,"x","x",2099068185),new cljs.core.Keyword(null,"y","y",-1757859776)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 12, 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(null,"airbase-icon","airbase-icon",-1322581504))),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(null,"airbase-name","airbase-name",-1509991393))),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(null,"country","country",312965309))),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(null,"current-strength","current-strength",-809786824))),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(null,"description-index","description-index",1949024606))),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(null,"id","id",-1388402092))),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(null,"name-id","name-id",-279275372))),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(null,"specialty","specialty",-159219386))),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(null,"squadron-patch","squadron-patch",883934030))),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(null,"x","x",2099068185))),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(null,"y","y",-1757859776)))], null),null]));
weathergen.falcon.files.mission.TeamBasicInfo = 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)],[new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","color","weathergen.falcon.files.mission/color",-1861591637),new cljs.core.Keyword("weathergen.falcon.files.mission","flag","weathergen.falcon.files.mission/flag",-459732893),new cljs.core.Keyword("weathergen.falcon.files.mission","motto","weathergen.falcon.files.mission/motto",1232886770),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)], null),null,null,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29232){
return cljs.core.map_QMARK_.call(null,G__29232);
}),(function (G__29232){
return cljs.core.contains_QMARK_.call(null,G__29232,new cljs.core.Keyword(null,"color","color",1011675173));
}),(function (G__29232){
return cljs.core.contains_QMARK_.call(null,G__29232,new cljs.core.Keyword(null,"flag","flag",1088647881));
}),(function (G__29232){
return cljs.core.contains_QMARK_.call(null,G__29232,new cljs.core.Keyword(null,"motto","motto",-708709752));
}),(function (G__29232){
return cljs.core.contains_QMARK_.call(null,G__29232,new cljs.core.Keyword(null,"name","name",1843675177));
})], null),(function (G__29232){
return ((cljs.core.map_QMARK_.call(null,G__29232)) && (cljs.core.contains_QMARK_.call(null,G__29232,new cljs.core.Keyword(null,"color","color",1011675173))) && (cljs.core.contains_QMARK_.call(null,G__29232,new cljs.core.Keyword(null,"flag","flag",1088647881))) && (cljs.core.contains_QMARK_.call(null,G__29232,new cljs.core.Keyword(null,"motto","motto",-708709752))) && (cljs.core.contains_QMARK_.call(null,G__29232,new cljs.core.Keyword(null,"name","name",1843675177))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","color","weathergen.falcon.files.mission/color",-1861591637),new cljs.core.Keyword("weathergen.falcon.files.mission","flag","weathergen.falcon.files.mission/flag",-459732893),new cljs.core.Keyword("weathergen.falcon.files.mission","motto","weathergen.falcon.files.mission/motto",1232886770),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)], null),null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"color","color",1011675173),new cljs.core.Keyword(null,"flag","flag",1088647881),new cljs.core.Keyword(null,"motto","motto",-708709752),new cljs.core.Keyword(null,"name","name",1843675177)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 5, 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(null,"color","color",1011675173))),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(null,"flag","flag",1088647881))),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(null,"motto","motto",-708709752))),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(null,"name","name",1843675177)))], null),null]));
weathergen.falcon.files.mission.CampaignInfo = 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, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29233){
return cljs.core.map_QMARK_.call(null,G__29233);
})], null),(function (G__29233){
return cljs.core.map_QMARK_.call(null,G__29233);
}),cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY,null,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 1, 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)))], null),null]));
weathergen.falcon.files.mission.ObjectiveDelta = 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)],[new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","f-status","weathergen.falcon.files.mission/f-status",-1947313271),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel","weathergen.falcon.files.mission/fuel",760787687),new cljs.core.Keyword("vu","id","vu/id",-1388397675),new cljs.core.Keyword("weathergen.falcon.files.mission","last-repair","weathergen.falcon.files.mission/last-repair",-1526954899),new cljs.core.Keyword("weathergen.falcon.files.mission","losses","weathergen.falcon.files.mission/losses",-1879114985),new cljs.core.Keyword("weathergen.falcon.files.mission","owner","weathergen.falcon.files.mission/owner",1206032935),new cljs.core.Keyword("weathergen.falcon.files.mission","supply","weathergen.falcon.files.mission/supply",-45632963)], null),null,null,new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29234){
return cljs.core.map_QMARK_.call(null,G__29234);
}),(function (G__29234){
return cljs.core.contains_QMARK_.call(null,G__29234,new cljs.core.Keyword(null,"f-status","f-status",782756103));
}),(function (G__29234){
return cljs.core.contains_QMARK_.call(null,G__29234,new cljs.core.Keyword(null,"fuel","fuel",10405485));
}),(function (G__29234){
return cljs.core.contains_QMARK_.call(null,G__29234,new cljs.core.Keyword(null,"id","id",-1388402092));
}),(function (G__29234){
return cljs.core.contains_QMARK_.call(null,G__29234,new cljs.core.Keyword(null,"last-repair","last-repair",1138109175));
}),(function (G__29234){
return cljs.core.contains_QMARK_.call(null,G__29234,new cljs.core.Keyword(null,"losses","losses",-189206407));
}),(function (G__29234){
return cljs.core.contains_QMARK_.call(null,G__29234,new cljs.core.Keyword(null,"owner","owner",-392611939));
}),(function (G__29234){
return cljs.core.contains_QMARK_.call(null,G__29234,new cljs.core.Keyword(null,"supply","supply",-1701696309));
})], null),(function (G__29234){
return ((cljs.core.map_QMARK_.call(null,G__29234)) && (cljs.core.contains_QMARK_.call(null,G__29234,new cljs.core.Keyword(null,"f-status","f-status",782756103))) && (cljs.core.contains_QMARK_.call(null,G__29234,new cljs.core.Keyword(null,"fuel","fuel",10405485))) && (cljs.core.contains_QMARK_.call(null,G__29234,new cljs.core.Keyword(null,"id","id",-1388402092))) && (cljs.core.contains_QMARK_.call(null,G__29234,new cljs.core.Keyword(null,"last-repair","last-repair",1138109175))) && (cljs.core.contains_QMARK_.call(null,G__29234,new cljs.core.Keyword(null,"losses","losses",-189206407))) && (cljs.core.contains_QMARK_.call(null,G__29234,new cljs.core.Keyword(null,"owner","owner",-392611939))) && (cljs.core.contains_QMARK_.call(null,G__29234,new cljs.core.Keyword(null,"supply","supply",-1701696309))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","f-status","weathergen.falcon.files.mission/f-status",-1947313271),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel","weathergen.falcon.files.mission/fuel",760787687),new cljs.core.Keyword("vu","id","vu/id",-1388397675),new cljs.core.Keyword("weathergen.falcon.files.mission","last-repair","weathergen.falcon.files.mission/last-repair",-1526954899),new cljs.core.Keyword("weathergen.falcon.files.mission","losses","weathergen.falcon.files.mission/losses",-1879114985),new cljs.core.Keyword("weathergen.falcon.files.mission","owner","weathergen.falcon.files.mission/owner",1206032935),new cljs.core.Keyword("weathergen.falcon.files.mission","supply","weathergen.falcon.files.mission/supply",-45632963)], null),null,new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"f-status","f-status",782756103),new cljs.core.Keyword(null,"fuel","fuel",10405485),new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"last-repair","last-repair",1138109175),new cljs.core.Keyword(null,"losses","losses",-189206407),new cljs.core.Keyword(null,"owner","owner",-392611939),new cljs.core.Keyword(null,"supply","supply",-1701696309)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 8, 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(null,"f-status","f-status",782756103))),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(null,"fuel","fuel",10405485))),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(null,"id","id",-1388402092))),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(null,"last-repair","last-repair",1138109175))),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(null,"losses","losses",-189206407))),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(null,"owner","owner",-392611939))),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(null,"supply","supply",-1701696309)))], null),null]));
weathergen.falcon.files.mission.TaskingManager = 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)],[new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("vu","id","vu/id",-1388397675),new cljs.core.Keyword("weathergen.falcon.files.mission","entity-type","weathergen.falcon.files.mission/entity-type",-427082019),new cljs.core.Keyword("weathergen.falcon.files.mission","manager-flags","weathergen.falcon.files.mission/manager-flags",1548895997),new cljs.core.Keyword("weathergen.falcon.files.mission","owner","weathergen.falcon.files.mission/owner",1206032935)], null),null,null,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29235){
return cljs.core.map_QMARK_.call(null,G__29235);
}),(function (G__29235){
return cljs.core.contains_QMARK_.call(null,G__29235,new cljs.core.Keyword(null,"id","id",-1388402092));
}),(function (G__29235){
return cljs.core.contains_QMARK_.call(null,G__29235,new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125));
}),(function (G__29235){
return cljs.core.contains_QMARK_.call(null,G__29235,new cljs.core.Keyword(null,"manager-flags","manager-flags",2031008919));
}),(function (G__29235){
return cljs.core.contains_QMARK_.call(null,G__29235,new cljs.core.Keyword(null,"owner","owner",-392611939));
})], null),(function (G__29235){
return ((cljs.core.map_QMARK_.call(null,G__29235)) && (cljs.core.contains_QMARK_.call(null,G__29235,new cljs.core.Keyword(null,"id","id",-1388402092))) && (cljs.core.contains_QMARK_.call(null,G__29235,new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125))) && (cljs.core.contains_QMARK_.call(null,G__29235,new cljs.core.Keyword(null,"manager-flags","manager-flags",2031008919))) && (cljs.core.contains_QMARK_.call(null,G__29235,new cljs.core.Keyword(null,"owner","owner",-392611939))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("vu","id","vu/id",-1388397675),new cljs.core.Keyword("weathergen.falcon.files.mission","entity-type","weathergen.falcon.files.mission/entity-type",-427082019),new cljs.core.Keyword("weathergen.falcon.files.mission","manager-flags","weathergen.falcon.files.mission/manager-flags",1548895997),new cljs.core.Keyword("weathergen.falcon.files.mission","owner","weathergen.falcon.files.mission/owner",1206032935)], null),null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125),new cljs.core.Keyword(null,"manager-flags","manager-flags",2031008919),new cljs.core.Keyword(null,"owner","owner",-392611939)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 5, 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(null,"id","id",-1388402092))),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(null,"entity-type","entity-type",-1957300125))),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(null,"manager-flags","manager-flags",2031008919))),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(null,"owner","owner",-392611939)))], null),null]));
weathergen.falcon.files.mission.AtmAirbase = 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)],[new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("vu","id","vu/id",-1388397675),new cljs.core.Keyword("weathergen.falcon.files.mission","schedule","weathergen.falcon.files.mission/schedule",-1332281856)], null),null,null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29236){
return cljs.core.map_QMARK_.call(null,G__29236);
}),(function (G__29236){
return cljs.core.contains_QMARK_.call(null,G__29236,new cljs.core.Keyword(null,"id","id",-1388402092));
}),(function (G__29236){
return cljs.core.contains_QMARK_.call(null,G__29236,new cljs.core.Keyword(null,"schedule","schedule",349275266));
})], null),(function (G__29236){
return ((cljs.core.map_QMARK_.call(null,G__29236)) && (cljs.core.contains_QMARK_.call(null,G__29236,new cljs.core.Keyword(null,"id","id",-1388402092))) && (cljs.core.contains_QMARK_.call(null,G__29236,new cljs.core.Keyword(null,"schedule","schedule",349275266))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("vu","id","vu/id",-1388397675),new cljs.core.Keyword("weathergen.falcon.files.mission","schedule","weathergen.falcon.files.mission/schedule",-1332281856)], null),null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"schedule","schedule",349275266)], 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(null,"id","id",-1388402092))),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(null,"schedule","schedule",349275266)))], null),null]));
weathergen.falcon.files.mission.MissionRequest = 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)],[new cljs.core.PersistentVector(null, 27, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","requester","weathergen.falcon.files.mission/requester",323342959),new cljs.core.Keyword("weathergen.falcon.files.mission","tawrget","weathergen.falcon.files.mission/tawrget",963957686),new cljs.core.Keyword("weathergen.falcon.files.mission","secondary","weathergen.falcon.files.mission/secondary",-120553166),new cljs.core.Keyword("weathergen.falcon.files.mission","pak","weathergen.falcon.files.mission/pak",-488251816),new cljs.core.Keyword("weathergen.falcon.files.mission","who","weathergen.falcon.files.mission/who",1823833670),new cljs.core.Keyword("weathergen.falcon.files.mission","vs","weathergen.falcon.files.mission/vs",331200696),new cljs.core.Keyword("weathergen.falcon.files.mission","tot","weathergen.falcon.files.mission/tot",438073632),new cljs.core.Keyword("weathergen.falcon.files.mission","tx","weathergen.falcon.files.mission/tx",1872347788),new cljs.core.Keyword("weathergen.falcon.files.mission","ty","weathergen.falcon.files.mission/ty",1848699175),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","caps","weathergen.falcon.files.mission/caps",1774556458),new cljs.core.Keyword("weathergen.falcon.files.mission","target-num","weathergen.falcon.files.mission/target-num",-1006424384),new cljs.core.Keyword("weathergen.falcon.files.mission","speed","weathergen.falcon.files.mission/speed",-409174135),new cljs.core.Keyword("weathergen.falcon.files.mission","match-strength","weathergen.falcon.files.mission/match-strength",2049881332),new cljs.core.Keyword("weathergen.falcon.files.mission","priority","weathergen.falcon.files.mission/priority",1887991877),new cljs.core.Keyword("weathergen.falcon.files.mission","tot-type","weathergen.falcon.files.mission/tot-type",-1651966103),new cljs.core.Keyword("weathergen.falcon.files.mission","action-type","weathergen.falcon.files.mission/action-type",523180133),new cljs.core.Keyword("mission-request","mission","mission-request/mission",549236284),new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258),new cljs.core.Keyword("weathergen.falcon.files.mission","context","weathergen.falcon.files.mission/context",-247799687),new cljs.core.Keyword("weathergen.falcon.files.mission","roe-check","weathergen.falcon.files.mission/roe-check",-1992214504),new cljs.core.Keyword("weathergen.falcon.files.mission","delayed","weathergen.falcon.files.mission/delayed",-1311866337),new cljs.core.Keyword("weathergen.falcon.files.mission","start-block","weathergen.falcon.files.mission/start-block",-770598562),new cljs.core.Keyword("weathergen.falcon.files.mission","final-block","weathergen.falcon.files.mission/final-block",155898840),new cljs.core.Keyword("weathergen.falcon.files.mission","slots","weathergen.falcon.files.mission/slots",1866096404),new cljs.core.Keyword("weathergen.falcon.files.mission","min-to","weathergen.falcon.files.mission/min-to",2143567845),new cljs.core.Keyword("weathergen.falcon.files.mission","max-to","weathergen.falcon.files.mission/max-to",-879986357)], null),null,null,new cljs.core.PersistentVector(null, 28, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29237){
return cljs.core.map_QMARK_.call(null,G__29237);
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"requester","requester",2032946161));
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"tawrget","tawrget",-998289104));
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"secondary","secondary",-669381460));
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"pak","pak",-1071422534));
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"who","who",-235935040));
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"vs","vs",-2022097090));
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"tot","tot",2086174646));
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"tx","tx",466630418));
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"ty","ty",158290825));
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"flags","flags",1775418075));
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"caps","caps",-183763072));
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"target-num","target-num",1623497814));
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"speed","speed",1257663751));
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"match-strength","match-strength",1432664922));
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"priority","priority",1431093715));
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"tot-type","tot-type",-524162589));
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"action-type","action-type",-1141667361));
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"mission","mission",1740288522));
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"aircraft","aircraft",-790597916));
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"context","context",-830191113));
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"roe-check","roe-check",-302273906));
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"delayed","delayed",251992229));
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"start-block","start-block",885980136));
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"final-block","final-block",-1801414066));
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"slots","slots",276818598));
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"min-to","min-to",-486357137));
}),(function (G__29237){
return cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"max-to","max-to",801697233));
})], null),(function (G__29237){
return ((cljs.core.map_QMARK_.call(null,G__29237)) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"requester","requester",2032946161))) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"tawrget","tawrget",-998289104))) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"secondary","secondary",-669381460))) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"pak","pak",-1071422534))) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"who","who",-235935040))) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"vs","vs",-2022097090))) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"tot","tot",2086174646))) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"tx","tx",466630418))) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"ty","ty",158290825))) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"flags","flags",1775418075))) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"caps","caps",-183763072))) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"target-num","target-num",1623497814))) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"speed","speed",1257663751))) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"match-strength","match-strength",1432664922))) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"priority","priority",1431093715))) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"tot-type","tot-type",-524162589))) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"action-type","action-type",-1141667361))) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"mission","mission",1740288522))) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"aircraft","aircraft",-790597916))) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"context","context",-830191113))) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"roe-check","roe-check",-302273906))) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"delayed","delayed",251992229))) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"start-block","start-block",885980136))) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"final-block","final-block",-1801414066))) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"slots","slots",276818598))) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"min-to","min-to",-486357137))) && (cljs.core.contains_QMARK_.call(null,G__29237,new cljs.core.Keyword(null,"max-to","max-to",801697233))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 27, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","requester","weathergen.falcon.files.mission/requester",323342959),new cljs.core.Keyword("weathergen.falcon.files.mission","tawrget","weathergen.falcon.files.mission/tawrget",963957686),new cljs.core.Keyword("weathergen.falcon.files.mission","secondary","weathergen.falcon.files.mission/secondary",-120553166),new cljs.core.Keyword("weathergen.falcon.files.mission","pak","weathergen.falcon.files.mission/pak",-488251816),new cljs.core.Keyword("weathergen.falcon.files.mission","who","weathergen.falcon.files.mission/who",1823833670),new cljs.core.Keyword("weathergen.falcon.files.mission","vs","weathergen.falcon.files.mission/vs",331200696),new cljs.core.Keyword("weathergen.falcon.files.mission","tot","weathergen.falcon.files.mission/tot",438073632),new cljs.core.Keyword("weathergen.falcon.files.mission","tx","weathergen.falcon.files.mission/tx",1872347788),new cljs.core.Keyword("weathergen.falcon.files.mission","ty","weathergen.falcon.files.mission/ty",1848699175),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","caps","weathergen.falcon.files.mission/caps",1774556458),new cljs.core.Keyword("weathergen.falcon.files.mission","target-num","weathergen.falcon.files.mission/target-num",-1006424384),new cljs.core.Keyword("weathergen.falcon.files.mission","speed","weathergen.falcon.files.mission/speed",-409174135),new cljs.core.Keyword("weathergen.falcon.files.mission","match-strength","weathergen.falcon.files.mission/match-strength",2049881332),new cljs.core.Keyword("weathergen.falcon.files.mission","priority","weathergen.falcon.files.mission/priority",1887991877),new cljs.core.Keyword("weathergen.falcon.files.mission","tot-type","weathergen.falcon.files.mission/tot-type",-1651966103),new cljs.core.Keyword("weathergen.falcon.files.mission","action-type","weathergen.falcon.files.mission/action-type",523180133),new cljs.core.Keyword("mission-request","mission","mission-request/mission",549236284),new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258),new cljs.core.Keyword("weathergen.falcon.files.mission","context","weathergen.falcon.files.mission/context",-247799687),new cljs.core.Keyword("weathergen.falcon.files.mission","roe-check","weathergen.falcon.files.mission/roe-check",-1992214504),new cljs.core.Keyword("weathergen.falcon.files.mission","delayed","weathergen.falcon.files.mission/delayed",-1311866337),new cljs.core.Keyword("weathergen.falcon.files.mission","start-block","weathergen.falcon.files.mission/start-block",-770598562),new cljs.core.Keyword("weathergen.falcon.files.mission","final-block","weathergen.falcon.files.mission/final-block",155898840),new cljs.core.Keyword("weathergen.falcon.files.mission","slots","weathergen.falcon.files.mission/slots",1866096404),new cljs.core.Keyword("weathergen.falcon.files.mission","min-to","weathergen.falcon.files.mission/min-to",2143567845),new cljs.core.Keyword("weathergen.falcon.files.mission","max-to","weathergen.falcon.files.mission/max-to",-879986357)], null),null,new cljs.core.PersistentVector(null, 27, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"requester","requester",2032946161),new cljs.core.Keyword(null,"tawrget","tawrget",-998289104),new cljs.core.Keyword(null,"secondary","secondary",-669381460),new cljs.core.Keyword(null,"pak","pak",-1071422534),new cljs.core.Keyword(null,"who","who",-235935040),new cljs.core.Keyword(null,"vs","vs",-2022097090),new cljs.core.Keyword(null,"tot","tot",2086174646),new cljs.core.Keyword(null,"tx","tx",466630418),new cljs.core.Keyword(null,"ty","ty",158290825),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.Keyword(null,"caps","caps",-183763072),new cljs.core.Keyword(null,"target-num","target-num",1623497814),new cljs.core.Keyword(null,"speed","speed",1257663751),new cljs.core.Keyword(null,"match-strength","match-strength",1432664922),new cljs.core.Keyword(null,"priority","priority",1431093715),new cljs.core.Keyword(null,"tot-type","tot-type",-524162589),new cljs.core.Keyword(null,"action-type","action-type",-1141667361),new cljs.core.Keyword(null,"mission","mission",1740288522),new cljs.core.Keyword(null,"aircraft","aircraft",-790597916),new cljs.core.Keyword(null,"context","context",-830191113),new cljs.core.Keyword(null,"roe-check","roe-check",-302273906),new cljs.core.Keyword(null,"delayed","delayed",251992229),new cljs.core.Keyword(null,"start-block","start-block",885980136),new cljs.core.Keyword(null,"final-block","final-block",-1801414066),new cljs.core.Keyword(null,"slots","slots",276818598),new cljs.core.Keyword(null,"min-to","min-to",-486357137),new cljs.core.Keyword(null,"max-to","max-to",801697233)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 28, 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(null,"requester","requester",2032946161))),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(null,"tawrget","tawrget",-998289104))),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(null,"secondary","secondary",-669381460))),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(null,"pak","pak",-1071422534))),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(null,"who","who",-235935040))),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(null,"vs","vs",-2022097090))),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(null,"tot","tot",2086174646))),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(null,"tx","tx",466630418))),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(null,"ty","ty",158290825))),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(null,"flags","flags",1775418075))),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(null,"caps","caps",-183763072))),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(null,"target-num","target-num",1623497814))),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(null,"speed","speed",1257663751))),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(null,"match-strength","match-strength",1432664922))),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(null,"priority","priority",1431093715))),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(null,"tot-type","tot-type",-524162589))),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(null,"action-type","action-type",-1141667361))),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(null,"mission","mission",1740288522))),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(null,"aircraft","aircraft",-790597916))),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(null,"context","context",-830191113))),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(null,"roe-check","roe-check",-302273906))),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(null,"delayed","delayed",251992229))),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(null,"start-block","start-block",885980136))),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(null,"final-block","final-block",-1801414066))),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(null,"slots","slots",276818598))),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(null,"min-to","min-to",-486357137))),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(null,"max-to","max-to",801697233)))], null),null]));
weathergen.falcon.files.mission.AirTaskingManager = cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","TaskingManager","weathergen.falcon.files.mission/TaskingManager",-241098945,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("atm","airbases","atm/airbases",-1847920213),new cljs.core.Keyword("weathergen.falcon.files.mission","average-ca-strength","weathergen.falcon.files.mission/average-ca-strength",467672813),new cljs.core.Keyword("weathergen.falcon.files.mission","average-ca-missions","weathergen.falcon.files.mission/average-ca-missions",1997160792),new cljs.core.Keyword("weathergen.falcon.files.mission","cycle","weathergen.falcon.files.mission/cycle",-1074021098),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-requests","weathergen.falcon.files.mission/mission-requests",-1553253637),new cljs.core.Keyword("weathergen.falcon.files.mission","sample-cycles","weathergen.falcon.files.mission/sample-cycles",-1604151732)], null))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.TaskingManager,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)],[new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("atm","airbases","atm/airbases",-1847920213),new cljs.core.Keyword("weathergen.falcon.files.mission","average-ca-strength","weathergen.falcon.files.mission/average-ca-strength",467672813),new cljs.core.Keyword("weathergen.falcon.files.mission","average-ca-missions","weathergen.falcon.files.mission/average-ca-missions",1997160792),new cljs.core.Keyword("weathergen.falcon.files.mission","cycle","weathergen.falcon.files.mission/cycle",-1074021098),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-requests","weathergen.falcon.files.mission/mission-requests",-1553253637),new cljs.core.Keyword("weathergen.falcon.files.mission","sample-cycles","weathergen.falcon.files.mission/sample-cycles",-1604151732)], null),null,null,new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29238){
return cljs.core.map_QMARK_.call(null,G__29238);
}),(function (G__29238){
return cljs.core.contains_QMARK_.call(null,G__29238,new cljs.core.Keyword(null,"airbases","airbases",-1848087775));
}),(function (G__29238){
return cljs.core.contains_QMARK_.call(null,G__29238,new cljs.core.Keyword(null,"average-ca-strength","average-ca-strength",1605217659));
}),(function (G__29238){
return cljs.core.contains_QMARK_.call(null,G__29238,new cljs.core.Keyword(null,"average-ca-missions","average-ca-missions",1515247290));
}),(function (G__29238){
return cljs.core.contains_QMARK_.call(null,G__29238,new cljs.core.Keyword(null,"cycle","cycle",710365284));
}),(function (G__29238){
return cljs.core.contains_QMARK_.call(null,G__29238,new cljs.core.Keyword(null,"flags","flags",1775418075));
}),(function (G__29238){
return cljs.core.contains_QMARK_.call(null,G__29238,new cljs.core.Keyword(null,"mission-requests","mission-requests",75740277));
}),(function (G__29238){
return cljs.core.contains_QMARK_.call(null,G__29238,new cljs.core.Keyword(null,"sample-cycles","sample-cycles",1176043458));
})], null),(function (G__29238){
return ((cljs.core.map_QMARK_.call(null,G__29238)) && (cljs.core.contains_QMARK_.call(null,G__29238,new cljs.core.Keyword(null,"airbases","airbases",-1848087775))) && (cljs.core.contains_QMARK_.call(null,G__29238,new cljs.core.Keyword(null,"average-ca-strength","average-ca-strength",1605217659))) && (cljs.core.contains_QMARK_.call(null,G__29238,new cljs.core.Keyword(null,"average-ca-missions","average-ca-missions",1515247290))) && (cljs.core.contains_QMARK_.call(null,G__29238,new cljs.core.Keyword(null,"cycle","cycle",710365284))) && (cljs.core.contains_QMARK_.call(null,G__29238,new cljs.core.Keyword(null,"flags","flags",1775418075))) && (cljs.core.contains_QMARK_.call(null,G__29238,new cljs.core.Keyword(null,"mission-requests","mission-requests",75740277))) && (cljs.core.contains_QMARK_.call(null,G__29238,new cljs.core.Keyword(null,"sample-cycles","sample-cycles",1176043458))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("atm","airbases","atm/airbases",-1847920213),new cljs.core.Keyword("weathergen.falcon.files.mission","average-ca-strength","weathergen.falcon.files.mission/average-ca-strength",467672813),new cljs.core.Keyword("weathergen.falcon.files.mission","average-ca-missions","weathergen.falcon.files.mission/average-ca-missions",1997160792),new cljs.core.Keyword("weathergen.falcon.files.mission","cycle","weathergen.falcon.files.mission/cycle",-1074021098),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-requests","weathergen.falcon.files.mission/mission-requests",-1553253637),new cljs.core.Keyword("weathergen.falcon.files.mission","sample-cycles","weathergen.falcon.files.mission/sample-cycles",-1604151732)], null),null,new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"airbases","airbases",-1848087775),new cljs.core.Keyword(null,"average-ca-strength","average-ca-strength",1605217659),new cljs.core.Keyword(null,"average-ca-missions","average-ca-missions",1515247290),new cljs.core.Keyword(null,"cycle","cycle",710365284),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.Keyword(null,"mission-requests","mission-requests",75740277),new cljs.core.Keyword(null,"sample-cycles","sample-cycles",1176043458)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 8, 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(null,"airbases","airbases",-1848087775))),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(null,"average-ca-strength","average-ca-strength",1605217659))),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(null,"average-ca-missions","average-ca-missions",1515247290))),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(null,"cycle","cycle",710365284))),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(null,"flags","flags",1775418075))),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(null,"mission-requests","mission-requests",75740277))),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(null,"sample-cycles","sample-cycles",1176043458)))], null),null]))], null),null);
weathergen.falcon.files.mission.GroundTaskingManager = cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","TaskingManager","weathergen.falcon.files.mission/TaskingManager",-241098945,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503)], null))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.TaskingManager,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)],[new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503)], null),null,null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29239){
return cljs.core.map_QMARK_.call(null,G__29239);
}),(function (G__29239){
return cljs.core.contains_QMARK_.call(null,G__29239,new cljs.core.Keyword(null,"flags","flags",1775418075));
})], null),(function (G__29239){
return ((cljs.core.map_QMARK_.call(null,G__29239)) && (cljs.core.contains_QMARK_.call(null,G__29239,new cljs.core.Keyword(null,"flags","flags",1775418075))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503)], null),null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"flags","flags",1775418075)], 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(null,"flags","flags",1775418075)))], null),null]))], null),null);
weathergen.falcon.files.mission.NavalTaskingManager = cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","TaskingManager","weathergen.falcon.files.mission/TaskingManager",-241098945,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503)], null))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.TaskingManager,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)],[new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503)], null),null,null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29240){
return cljs.core.map_QMARK_.call(null,G__29240);
}),(function (G__29240){
return cljs.core.contains_QMARK_.call(null,G__29240,new cljs.core.Keyword(null,"flags","flags",1775418075));
})], null),(function (G__29240){
return ((cljs.core.map_QMARK_.call(null,G__29240)) && (cljs.core.contains_QMARK_.call(null,G__29240,new cljs.core.Keyword(null,"flags","flags",1775418075))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503)], null),null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"flags","flags",1775418075)], 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(null,"flags","flags",1775418075)))], null),null]))], null),null);
weathergen.falcon.files.mission.TeamStatus = 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)],[new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","air-defence-vehicles","weathergen.falcon.files.mission/air-defence-vehicles",-605031380),new cljs.core.Keyword("team-status","airbases","team-status/airbases",-1222024125),new cljs.core.Keyword("team-status","aircraft","team-status/aircraft",1766946818),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel","weathergen.falcon.files.mission/fuel",760787687),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-level","weathergen.falcon.files.mission/fuel-level",1633529202),new cljs.core.Keyword("weathergen.falcon.files.mission","ground-vehicles","weathergen.falcon.files.mission/ground-vehicles",-1652485882),new cljs.core.Keyword("weathergen.falcon.files.mission","ships","weathergen.falcon.files.mission/ships",-318103868),new cljs.core.Keyword("weathergen.falcon.files.mission","supply","weathergen.falcon.files.mission/supply",-45632963),new cljs.core.Keyword("weathergen.falcon.files.mission","supply-level","weathergen.falcon.files.mission/supply-level",1690639269)], null),null,null,new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29241){
return cljs.core.map_QMARK_.call(null,G__29241);
}),(function (G__29241){
return cljs.core.contains_QMARK_.call(null,G__29241,new cljs.core.Keyword(null,"air-defence-vehicles","air-defence-vehicles",933914278));
}),(function (G__29241){
return cljs.core.contains_QMARK_.call(null,G__29241,new cljs.core.Keyword(null,"airbases","airbases",-1848087775));
}),(function (G__29241){
return cljs.core.contains_QMARK_.call(null,G__29241,new cljs.core.Keyword(null,"aircraft","aircraft",-790597916));
}),(function (G__29241){
return cljs.core.contains_QMARK_.call(null,G__29241,new cljs.core.Keyword(null,"fuel","fuel",10405485));
}),(function (G__29241){
return cljs.core.contains_QMARK_.call(null,G__29241,new cljs.core.Keyword(null,"fuel-level","fuel-level",1060451052));
}),(function (G__29241){
return cljs.core.contains_QMARK_.call(null,G__29241,new cljs.core.Keyword(null,"ground-vehicles","ground-vehicles",-103851136));
}),(function (G__29241){
return cljs.core.contains_QMARK_.call(null,G__29241,new cljs.core.Keyword(null,"ships","ships",-875113158));
}),(function (G__29241){
return cljs.core.contains_QMARK_.call(null,G__29241,new cljs.core.Keyword(null,"supply","supply",-1701696309));
}),(function (G__29241){
return cljs.core.contains_QMARK_.call(null,G__29241,new cljs.core.Keyword(null,"supply-level","supply-level",8080947));
})], null),(function (G__29241){
return ((cljs.core.map_QMARK_.call(null,G__29241)) && (cljs.core.contains_QMARK_.call(null,G__29241,new cljs.core.Keyword(null,"air-defence-vehicles","air-defence-vehicles",933914278))) && (cljs.core.contains_QMARK_.call(null,G__29241,new cljs.core.Keyword(null,"airbases","airbases",-1848087775))) && (cljs.core.contains_QMARK_.call(null,G__29241,new cljs.core.Keyword(null,"aircraft","aircraft",-790597916))) && (cljs.core.contains_QMARK_.call(null,G__29241,new cljs.core.Keyword(null,"fuel","fuel",10405485))) && (cljs.core.contains_QMARK_.call(null,G__29241,new cljs.core.Keyword(null,"fuel-level","fuel-level",1060451052))) && (cljs.core.contains_QMARK_.call(null,G__29241,new cljs.core.Keyword(null,"ground-vehicles","ground-vehicles",-103851136))) && (cljs.core.contains_QMARK_.call(null,G__29241,new cljs.core.Keyword(null,"ships","ships",-875113158))) && (cljs.core.contains_QMARK_.call(null,G__29241,new cljs.core.Keyword(null,"supply","supply",-1701696309))) && (cljs.core.contains_QMARK_.call(null,G__29241,new cljs.core.Keyword(null,"supply-level","supply-level",8080947))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","air-defence-vehicles","weathergen.falcon.files.mission/air-defence-vehicles",-605031380),new cljs.core.Keyword("team-status","airbases","team-status/airbases",-1222024125),new cljs.core.Keyword("team-status","aircraft","team-status/aircraft",1766946818),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel","weathergen.falcon.files.mission/fuel",760787687),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-level","weathergen.falcon.files.mission/fuel-level",1633529202),new cljs.core.Keyword("weathergen.falcon.files.mission","ground-vehicles","weathergen.falcon.files.mission/ground-vehicles",-1652485882),new cljs.core.Keyword("weathergen.falcon.files.mission","ships","weathergen.falcon.files.mission/ships",-318103868),new cljs.core.Keyword("weathergen.falcon.files.mission","supply","weathergen.falcon.files.mission/supply",-45632963),new cljs.core.Keyword("weathergen.falcon.files.mission","supply-level","weathergen.falcon.files.mission/supply-level",1690639269)], null),null,new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"air-defence-vehicles","air-defence-vehicles",933914278),new cljs.core.Keyword(null,"airbases","airbases",-1848087775),new cljs.core.Keyword(null,"aircraft","aircraft",-790597916),new cljs.core.Keyword(null,"fuel","fuel",10405485),new cljs.core.Keyword(null,"fuel-level","fuel-level",1060451052),new cljs.core.Keyword(null,"ground-vehicles","ground-vehicles",-103851136),new cljs.core.Keyword(null,"ships","ships",-875113158),new cljs.core.Keyword(null,"supply","supply",-1701696309),new cljs.core.Keyword(null,"supply-level","supply-level",8080947)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 10, 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(null,"air-defence-vehicles","air-defence-vehicles",933914278))),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(null,"airbases","airbases",-1848087775))),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(null,"aircraft","aircraft",-790597916))),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(null,"fuel","fuel",10405485))),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(null,"fuel-level","fuel-level",1060451052))),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(null,"ground-vehicles","ground-vehicles",-103851136))),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(null,"ships","ships",-875113158))),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(null,"supply","supply",-1701696309))),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(null,"supply-level","supply-level",8080947)))], null),null]));
weathergen.falcon.files.mission.TeamAirAction = 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)],[new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","last-objective","weathergen.falcon.files.mission/last-objective",-95318299),new cljs.core.Keyword("weathergen.falcon.files.mission","objective","weathergen.falcon.files.mission/objective",-556396617),new cljs.core.Keyword("weathergen.falcon.files.mission","start","weathergen.falcon.files.mission/start",1184725893),new cljs.core.Keyword("weathergen.falcon.files.mission","stop","weathergen.falcon.files.mission/stop",-433998692),new cljs.core.Keyword("weathergen.falcon.files.mission","type","weathergen.falcon.files.mission/type",-1571457242)], null),null,null,new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29242){
return cljs.core.map_QMARK_.call(null,G__29242);
}),(function (G__29242){
return cljs.core.contains_QMARK_.call(null,G__29242,new cljs.core.Keyword(null,"last-objective","last-objective",-1761076877));
}),(function (G__29242){
return cljs.core.contains_QMARK_.call(null,G__29242,new cljs.core.Keyword(null,"objective","objective",1301058585));
}),(function (G__29242){
return cljs.core.contains_QMARK_.call(null,G__29242,new cljs.core.Keyword(null,"start","start",-355208981));
}),(function (G__29242){
return cljs.core.contains_QMARK_.call(null,G__29242,new cljs.core.Keyword(null,"stop","stop",-2140911342));
}),(function (G__29242){
return cljs.core.contains_QMARK_.call(null,G__29242,new cljs.core.Keyword(null,"type","type",1174270348));
})], null),(function (G__29242){
return ((cljs.core.map_QMARK_.call(null,G__29242)) && (cljs.core.contains_QMARK_.call(null,G__29242,new cljs.core.Keyword(null,"last-objective","last-objective",-1761076877))) && (cljs.core.contains_QMARK_.call(null,G__29242,new cljs.core.Keyword(null,"objective","objective",1301058585))) && (cljs.core.contains_QMARK_.call(null,G__29242,new cljs.core.Keyword(null,"start","start",-355208981))) && (cljs.core.contains_QMARK_.call(null,G__29242,new cljs.core.Keyword(null,"stop","stop",-2140911342))) && (cljs.core.contains_QMARK_.call(null,G__29242,new cljs.core.Keyword(null,"type","type",1174270348))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","last-objective","weathergen.falcon.files.mission/last-objective",-95318299),new cljs.core.Keyword("weathergen.falcon.files.mission","objective","weathergen.falcon.files.mission/objective",-556396617),new cljs.core.Keyword("weathergen.falcon.files.mission","start","weathergen.falcon.files.mission/start",1184725893),new cljs.core.Keyword("weathergen.falcon.files.mission","stop","weathergen.falcon.files.mission/stop",-433998692),new cljs.core.Keyword("weathergen.falcon.files.mission","type","weathergen.falcon.files.mission/type",-1571457242)], null),null,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"last-objective","last-objective",-1761076877),new cljs.core.Keyword(null,"objective","objective",1301058585),new cljs.core.Keyword(null,"start","start",-355208981),new cljs.core.Keyword(null,"stop","stop",-2140911342),new cljs.core.Keyword(null,"type","type",1174270348)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 6, 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(null,"last-objective","last-objective",-1761076877))),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(null,"objective","objective",1301058585))),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(null,"start","start",-355208981))),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(null,"stop","stop",-2140911342))),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(null,"type","type",1174270348)))], null),null]));
weathergen.falcon.files.mission.TeamGroundAction = 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)],[new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","objective","weathergen.falcon.files.mission/objective",-556396617),new cljs.core.Keyword("weathergen.falcon.files.mission","points","weathergen.falcon.files.mission/points",1277042547),new cljs.core.Keyword("weathergen.falcon.files.mission","tempo","weathergen.falcon.files.mission/tempo",1058201729),new cljs.core.Keyword("weathergen.falcon.files.mission","time","weathergen.falcon.files.mission/time",-1351271916),new cljs.core.Keyword("weathergen.falcon.files.mission","timeout","weathergen.falcon.files.mission/timeout",-1958247324),new cljs.core.Keyword("weathergen.falcon.files.mission","type","weathergen.falcon.files.mission/type",-1571457242)], null),null,null,new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29243){
return cljs.core.map_QMARK_.call(null,G__29243);
}),(function (G__29243){
return cljs.core.contains_QMARK_.call(null,G__29243,new cljs.core.Keyword(null,"objective","objective",1301058585));
}),(function (G__29243){
return cljs.core.contains_QMARK_.call(null,G__29243,new cljs.core.Keyword(null,"points","points",-1486596883));
}),(function (G__29243){
return cljs.core.contains_QMARK_.call(null,G__29243,new cljs.core.Keyword(null,"tempo","tempo",-1555208453));
}),(function (G__29243){
return cljs.core.contains_QMARK_.call(null,G__29243,new cljs.core.Keyword(null,"time","time",1385887882));
}),(function (G__29243){
return cljs.core.contains_QMARK_.call(null,G__29243,new cljs.core.Keyword(null,"timeout","timeout",-318625318));
}),(function (G__29243){
return cljs.core.contains_QMARK_.call(null,G__29243,new cljs.core.Keyword(null,"type","type",1174270348));
})], null),(function (G__29243){
return ((cljs.core.map_QMARK_.call(null,G__29243)) && (cljs.core.contains_QMARK_.call(null,G__29243,new cljs.core.Keyword(null,"objective","objective",1301058585))) && (cljs.core.contains_QMARK_.call(null,G__29243,new cljs.core.Keyword(null,"points","points",-1486596883))) && (cljs.core.contains_QMARK_.call(null,G__29243,new cljs.core.Keyword(null,"tempo","tempo",-1555208453))) && (cljs.core.contains_QMARK_.call(null,G__29243,new cljs.core.Keyword(null,"time","time",1385887882))) && (cljs.core.contains_QMARK_.call(null,G__29243,new cljs.core.Keyword(null,"timeout","timeout",-318625318))) && (cljs.core.contains_QMARK_.call(null,G__29243,new cljs.core.Keyword(null,"type","type",1174270348))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","objective","weathergen.falcon.files.mission/objective",-556396617),new cljs.core.Keyword("weathergen.falcon.files.mission","points","weathergen.falcon.files.mission/points",1277042547),new cljs.core.Keyword("weathergen.falcon.files.mission","tempo","weathergen.falcon.files.mission/tempo",1058201729),new cljs.core.Keyword("weathergen.falcon.files.mission","time","weathergen.falcon.files.mission/time",-1351271916),new cljs.core.Keyword("weathergen.falcon.files.mission","timeout","weathergen.falcon.files.mission/timeout",-1958247324),new cljs.core.Keyword("weathergen.falcon.files.mission","type","weathergen.falcon.files.mission/type",-1571457242)], null),null,new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"objective","objective",1301058585),new cljs.core.Keyword(null,"points","points",-1486596883),new cljs.core.Keyword(null,"tempo","tempo",-1555208453),new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"timeout","timeout",-318625318),new cljs.core.Keyword(null,"type","type",1174270348)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 7, 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(null,"objective","objective",1301058585))),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(null,"points","points",-1486596883))),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(null,"tempo","tempo",-1555208453))),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(null,"time","time",1385887882))),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(null,"timeout","timeout",-318625318))),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(null,"type","type",1174270348)))], null),null]));
weathergen.falcon.files.mission.TeamTeam = 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)],[cljs.core.PersistentVector.fromArray([new cljs.core.Keyword("weathergen.falcon.files.mission","air-defense-experience","weathergen.falcon.files.mission/air-defense-experience",-1228097350),new cljs.core.Keyword("weathergen.falcon.files.mission","air-experience","weathergen.falcon.files.mission/air-experience",345384539),new cljs.core.Keyword("weathergen.falcon.files.mission","bonus-objs","weathergen.falcon.files.mission/bonus-objs",-1995519651),new cljs.core.Keyword("weathergen.falcon.files.mission","bonus-time","weathergen.falcon.files.mission/bonus-time",-1522245018),new cljs.core.Keyword("weathergen.falcon.files.mission","c-team","weathergen.falcon.files.mission/c-team",-607188711),new cljs.core.Keyword("weathergen.falcon.files.mission","current-stats","weathergen.falcon.files.mission/current-stats",1485033391),new cljs.core.Keyword("weathergen.falcon.files.mission","defensive-air-action","weathergen.falcon.files.mission/defensive-air-action",1048409095),new cljs.core.Keyword("weathergen.falcon.files.mission","entity-type","weathergen.falcon.files.mission/entity-type",-427082019),new cljs.core.Keyword("weathergen.falcon.files.mission","equipment","weathergen.falcon.files.mission/equipment",333876145),new cljs.core.Keyword("weathergen.falcon.files.mission","first-colonel","weathergen.falcon.files.mission/first-colonel",-623148867),new cljs.core.Keyword("weathergen.falcon.files.mission","first-commander","weathergen.falcon.files.mission/first-commander",223437727),new cljs.core.Keyword("weathergen.falcon.files.mission","first-wingman","weathergen.falcon.files.mission/first-wingman",-1473308326),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-available","weathergen.falcon.files.mission/fuel-available",1132247619),new cljs.core.Keyword("weathergen.falcon.files.mission","ground-action","weathergen.falcon.files.mission/ground-action",-809387426),new cljs.core.Keyword("weathergen.falcon.files.mission","ground-experience","weathergen.falcon.files.mission/ground-experience",-1373226430),new cljs.core.Keyword("vu","id","vu/id",-1388397675),new cljs.core.Keyword("weathergen.falcon.files.mission","initiatve","weathergen.falcon.files.mission/initiatve",1702683485),new cljs.core.Keyword("weathergen.falcon.files.mission","last-player-mission","weathergen.falcon.files.mission/last-player-mission",-1819020189),new cljs.core.Keyword("weathergen.falcon.files.mission","last-wingman","weathergen.falcon.files.mission/last-wingman",1830035207),new cljs.core.Keyword("weathergen.falcon.files.mission","max-vehicle","weathergen.falcon.files.mission/max-vehicle",1402076517),new cljs.core.Keyword("weathergen.falcon.files.mission","members","weathergen.falcon.files.mission/members",-1782598568),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-priority","weathergen.falcon.files.mission/mission-priority",168452709),new cljs.core.Keyword("weathergen.falcon.files.mission","motto","weathergen.falcon.files.mission/motto",1232886770),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","naval-experience","weathergen.falcon.files.mission/naval-experience",-2058678548),new cljs.core.Keyword("weathergen.falcon.files.mission","obj-type-priority","weathergen.falcon.files.mission/obj-type-priority",1451171622),new cljs.core.Keyword("weathergen.falcon.files.mission","offensive-air-action","weathergen.falcon.files.mission/offensive-air-action",-2047003390),new cljs.core.Keyword("weathergen.falcon.files.mission","player-rating","weathergen.falcon.files.mission/player-rating",1396319340),new cljs.core.Keyword("weathergen.falcon.files.mission","reinforcement","weathergen.falcon.files.mission/reinforcement",-308550720),new cljs.core.Keyword("weathergen.falcon.files.mission","replacements-available","weathergen.falcon.files.mission/replacements-available",-1748504285),new cljs.core.Keyword("weathergen.falcon.files.mission","stance","weathergen.falcon.files.mission/stance",173653206),new cljs.core.Keyword("weathergen.falcon.files.mission","start-stats","weathergen.falcon.files.mission/start-stats",-1772162419),new cljs.core.Keyword("weathergen.falcon.files.mission","supply-available","weathergen.falcon.files.mission/supply-available",-1548515090),new cljs.core.Keyword("weathergen.falcon.files.mission","team-color","weathergen.falcon.files.mission/team-color",-1416174578),new cljs.core.Keyword("weathergen.falcon.files.mission","team-flag","weathergen.falcon.files.mission/team-flag",342214246),new cljs.core.Keyword("weathergen.falcon.files.mission","unit-type-priority","weathergen.falcon.files.mission/unit-type-priority",774152055),new cljs.core.Keyword("weathergen.falcon.files.mission","who","weathergen.falcon.files.mission/who",1823833670)], true),null,null,cljs.core.PersistentVector.fromArray([(function (G__29244){
return cljs.core.map_QMARK_.call(null,G__29244);
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"air-defense-experience","air-defense-experience",-1710546376));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"air-experience","air-experience",1765463253));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"bonus-objs","bonus-objs",-1412153629));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"bonus-time","bonus-time",-1996956468));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"c-team","c-team",1058111407));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"current-stats","current-stats",-1217775099));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"defensive-air-action","defensive-air-action",-480842903));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"equipment","equipment",790435115));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"first-colonel","first-colonel",1587615555));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"first-commander","first-commander",813403189));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"first-wingman","first-wingman",1224041428));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"flags","flags",1775418075));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"fuel-available","fuel-available",-1529395011));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"ground-action","ground-action",858540012));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"ground-experience","ground-experience",107729084));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"id","id",-1388402092));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"initiatve","initiatve",-26014217));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"last-player-mission","last-player-mission",-137478691));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"last-wingman","last-wingman",199145869));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"max-vehicle","max-vehicle",1951303391));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"members","members",159001018));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"mission-priority","mission-priority",1715506931));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"motto","motto",-708709752));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"name","name",1843675177));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"naval-experience","naval-experience",-527591070));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"obj-type-priority","obj-type-priority",-1521374560));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"offensive-air-action","offensive-air-action",955423612));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"player-rating","player-rating",-961496862));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"reinforcement","reinforcement",-1971947958));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"replacements-available","replacements-available",-1198113611));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"stance","stance",1737508388));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"start-stats","start-stats",-1172674533));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"supply-available","supply-available",2126380660));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"team-color","team-color",206199444));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"team-flag","team-flag",-1307034656));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"unit-type-priority","unit-type-priority",-1360846399));
}),(function (G__29244){
return cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"who","who",-235935040));
})], true),(function (G__29244){
return ((cljs.core.map_QMARK_.call(null,G__29244)) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"air-defense-experience","air-defense-experience",-1710546376))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"air-experience","air-experience",1765463253))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"bonus-objs","bonus-objs",-1412153629))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"bonus-time","bonus-time",-1996956468))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"c-team","c-team",1058111407))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"current-stats","current-stats",-1217775099))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"defensive-air-action","defensive-air-action",-480842903))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"equipment","equipment",790435115))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"first-colonel","first-colonel",1587615555))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"first-commander","first-commander",813403189))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"first-wingman","first-wingman",1224041428))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"flags","flags",1775418075))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"fuel-available","fuel-available",-1529395011))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"ground-action","ground-action",858540012))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"ground-experience","ground-experience",107729084))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"id","id",-1388402092))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"initiatve","initiatve",-26014217))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"last-player-mission","last-player-mission",-137478691))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"last-wingman","last-wingman",199145869))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"max-vehicle","max-vehicle",1951303391))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"members","members",159001018))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"mission-priority","mission-priority",1715506931))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"motto","motto",-708709752))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"name","name",1843675177))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"naval-experience","naval-experience",-527591070))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"obj-type-priority","obj-type-priority",-1521374560))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"offensive-air-action","offensive-air-action",955423612))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"player-rating","player-rating",-961496862))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"reinforcement","reinforcement",-1971947958))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"replacements-available","replacements-available",-1198113611))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"stance","stance",1737508388))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"start-stats","start-stats",-1172674533))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"supply-available","supply-available",2126380660))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"team-color","team-color",206199444))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"team-flag","team-flag",-1307034656))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"unit-type-priority","unit-type-priority",-1360846399))) && (cljs.core.contains_QMARK_.call(null,G__29244,new cljs.core.Keyword(null,"who","who",-235935040))));
}),cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.fromArray([new cljs.core.Keyword("weathergen.falcon.files.mission","air-defense-experience","weathergen.falcon.files.mission/air-defense-experience",-1228097350),new cljs.core.Keyword("weathergen.falcon.files.mission","air-experience","weathergen.falcon.files.mission/air-experience",345384539),new cljs.core.Keyword("weathergen.falcon.files.mission","bonus-objs","weathergen.falcon.files.mission/bonus-objs",-1995519651),new cljs.core.Keyword("weathergen.falcon.files.mission","bonus-time","weathergen.falcon.files.mission/bonus-time",-1522245018),new cljs.core.Keyword("weathergen.falcon.files.mission","c-team","weathergen.falcon.files.mission/c-team",-607188711),new cljs.core.Keyword("weathergen.falcon.files.mission","current-stats","weathergen.falcon.files.mission/current-stats",1485033391),new cljs.core.Keyword("weathergen.falcon.files.mission","defensive-air-action","weathergen.falcon.files.mission/defensive-air-action",1048409095),new cljs.core.Keyword("weathergen.falcon.files.mission","entity-type","weathergen.falcon.files.mission/entity-type",-427082019),new cljs.core.Keyword("weathergen.falcon.files.mission","equipment","weathergen.falcon.files.mission/equipment",333876145),new cljs.core.Keyword("weathergen.falcon.files.mission","first-colonel","weathergen.falcon.files.mission/first-colonel",-623148867),new cljs.core.Keyword("weathergen.falcon.files.mission","first-commander","weathergen.falcon.files.mission/first-commander",223437727),new cljs.core.Keyword("weathergen.falcon.files.mission","first-wingman","weathergen.falcon.files.mission/first-wingman",-1473308326),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-available","weathergen.falcon.files.mission/fuel-available",1132247619),new cljs.core.Keyword("weathergen.falcon.files.mission","ground-action","weathergen.falcon.files.mission/ground-action",-809387426),new cljs.core.Keyword("weathergen.falcon.files.mission","ground-experience","weathergen.falcon.files.mission/ground-experience",-1373226430),new cljs.core.Keyword("vu","id","vu/id",-1388397675),new cljs.core.Keyword("weathergen.falcon.files.mission","initiatve","weathergen.falcon.files.mission/initiatve",1702683485),new cljs.core.Keyword("weathergen.falcon.files.mission","last-player-mission","weathergen.falcon.files.mission/last-player-mission",-1819020189),new cljs.core.Keyword("weathergen.falcon.files.mission","last-wingman","weathergen.falcon.files.mission/last-wingman",1830035207),new cljs.core.Keyword("weathergen.falcon.files.mission","max-vehicle","weathergen.falcon.files.mission/max-vehicle",1402076517),new cljs.core.Keyword("weathergen.falcon.files.mission","members","weathergen.falcon.files.mission/members",-1782598568),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-priority","weathergen.falcon.files.mission/mission-priority",168452709),new cljs.core.Keyword("weathergen.falcon.files.mission","motto","weathergen.falcon.files.mission/motto",1232886770),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","naval-experience","weathergen.falcon.files.mission/naval-experience",-2058678548),new cljs.core.Keyword("weathergen.falcon.files.mission","obj-type-priority","weathergen.falcon.files.mission/obj-type-priority",1451171622),new cljs.core.Keyword("weathergen.falcon.files.mission","offensive-air-action","weathergen.falcon.files.mission/offensive-air-action",-2047003390),new cljs.core.Keyword("weathergen.falcon.files.mission","player-rating","weathergen.falcon.files.mission/player-rating",1396319340),new cljs.core.Keyword("weathergen.falcon.files.mission","reinforcement","weathergen.falcon.files.mission/reinforcement",-308550720),new cljs.core.Keyword("weathergen.falcon.files.mission","replacements-available","weathergen.falcon.files.mission/replacements-available",-1748504285),new cljs.core.Keyword("weathergen.falcon.files.mission","stance","weathergen.falcon.files.mission/stance",173653206),new cljs.core.Keyword("weathergen.falcon.files.mission","start-stats","weathergen.falcon.files.mission/start-stats",-1772162419),new cljs.core.Keyword("weathergen.falcon.files.mission","supply-available","weathergen.falcon.files.mission/supply-available",-1548515090),new cljs.core.Keyword("weathergen.falcon.files.mission","team-color","weathergen.falcon.files.mission/team-color",-1416174578),new cljs.core.Keyword("weathergen.falcon.files.mission","team-flag","weathergen.falcon.files.mission/team-flag",342214246),new cljs.core.Keyword("weathergen.falcon.files.mission","unit-type-priority","weathergen.falcon.files.mission/unit-type-priority",774152055),new cljs.core.Keyword("weathergen.falcon.files.mission","who","weathergen.falcon.files.mission/who",1823833670)], true),null,cljs.core.PersistentVector.fromArray([new cljs.core.Keyword(null,"air-defense-experience","air-defense-experience",-1710546376),new cljs.core.Keyword(null,"air-experience","air-experience",1765463253),new cljs.core.Keyword(null,"bonus-objs","bonus-objs",-1412153629),new cljs.core.Keyword(null,"bonus-time","bonus-time",-1996956468),new cljs.core.Keyword(null,"c-team","c-team",1058111407),new cljs.core.Keyword(null,"current-stats","current-stats",-1217775099),new cljs.core.Keyword(null,"defensive-air-action","defensive-air-action",-480842903),new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125),new cljs.core.Keyword(null,"equipment","equipment",790435115),new cljs.core.Keyword(null,"first-colonel","first-colonel",1587615555),new cljs.core.Keyword(null,"first-commander","first-commander",813403189),new cljs.core.Keyword(null,"first-wingman","first-wingman",1224041428),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.Keyword(null,"fuel-available","fuel-available",-1529395011),new cljs.core.Keyword(null,"ground-action","ground-action",858540012),new cljs.core.Keyword(null,"ground-experience","ground-experience",107729084),new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"initiatve","initiatve",-26014217),new cljs.core.Keyword(null,"last-player-mission","last-player-mission",-137478691),new cljs.core.Keyword(null,"last-wingman","last-wingman",199145869),new cljs.core.Keyword(null,"max-vehicle","max-vehicle",1951303391),new cljs.core.Keyword(null,"members","members",159001018),new cljs.core.Keyword(null,"mission-priority","mission-priority",1715506931),new cljs.core.Keyword(null,"motto","motto",-708709752),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"naval-experience","naval-experience",-527591070),new cljs.core.Keyword(null,"obj-type-priority","obj-type-priority",-1521374560),new cljs.core.Keyword(null,"offensive-air-action","offensive-air-action",955423612),new cljs.core.Keyword(null,"player-rating","player-rating",-961496862),new cljs.core.Keyword(null,"reinforcement","reinforcement",-1971947958),new cljs.core.Keyword(null,"replacements-available","replacements-available",-1198113611),new cljs.core.Keyword(null,"stance","stance",1737508388),new cljs.core.Keyword(null,"start-stats","start-stats",-1172674533),new cljs.core.Keyword(null,"supply-available","supply-available",2126380660),new cljs.core.Keyword(null,"team-color","team-color",206199444),new cljs.core.Keyword(null,"team-flag","team-flag",-1307034656),new cljs.core.Keyword(null,"unit-type-priority","unit-type-priority",-1360846399),new cljs.core.Keyword(null,"who","who",-235935040)], true),cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.fromArray([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(null,"air-defense-experience","air-defense-experience",-1710546376))),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(null,"air-experience","air-experience",1765463253))),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(null,"bonus-objs","bonus-objs",-1412153629))),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(null,"bonus-time","bonus-time",-1996956468))),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(null,"c-team","c-team",1058111407))),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(null,"current-stats","current-stats",-1217775099))),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(null,"defensive-air-action","defensive-air-action",-480842903))),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(null,"entity-type","entity-type",-1957300125))),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(null,"equipment","equipment",790435115))),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(null,"first-colonel","first-colonel",1587615555))),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(null,"first-commander","first-commander",813403189))),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(null,"first-wingman","first-wingman",1224041428))),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(null,"flags","flags",1775418075))),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(null,"fuel-available","fuel-available",-1529395011))),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(null,"ground-action","ground-action",858540012))),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(null,"ground-experience","ground-experience",107729084))),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(null,"id","id",-1388402092))),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(null,"initiatve","initiatve",-26014217))),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(null,"last-player-mission","last-player-mission",-137478691))),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(null,"last-wingman","last-wingman",199145869))),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(null,"max-vehicle","max-vehicle",1951303391))),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(null,"members","members",159001018))),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(null,"mission-priority","mission-priority",1715506931))),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(null,"motto","motto",-708709752))),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(null,"name","name",1843675177))),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(null,"naval-experience","naval-experience",-527591070))),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(null,"obj-type-priority","obj-type-priority",-1521374560))),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(null,"offensive-air-action","offensive-air-action",955423612))),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(null,"player-rating","player-rating",-961496862))),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(null,"reinforcement","reinforcement",-1971947958))),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(null,"replacements-available","replacements-available",-1198113611))),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(null,"stance","stance",1737508388))),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(null,"start-stats","start-stats",-1172674533))),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(null,"supply-available","supply-available",2126380660))),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(null,"team-color","team-color",206199444))),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(null,"team-flag","team-flag",-1307034656))),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(null,"unit-type-priority","unit-type-priority",-1360846399))),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(null,"who","who",-235935040)))], true),null]));
weathergen.falcon.files.mission.Team = 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)],[new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","air-tasking-manager","weathergen.falcon.files.mission/air-tasking-manager",-1873112158),new cljs.core.Keyword("weathergen.falcon.files.mission","ground-tasking-manager","weathergen.falcon.files.mission/ground-tasking-manager",-288460034),new cljs.core.Keyword("weathergen.falcon.files.mission","naval-tasking-manager","weathergen.falcon.files.mission/naval-tasking-manager",346066399),new cljs.core.Keyword("team","team","team/team",1350128664)], null),null,null,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29245){
return cljs.core.map_QMARK_.call(null,G__29245);
}),(function (G__29245){
return cljs.core.contains_QMARK_.call(null,G__29245,new cljs.core.Keyword(null,"air-tasking-manager","air-tasking-manager",-279900872));
}),(function (G__29245){
return cljs.core.contains_QMARK_.call(null,G__29245,new cljs.core.Keyword(null,"ground-tasking-manager","ground-tasking-manager",1373954444));
}),(function (G__29245){
return cljs.core.contains_QMARK_.call(null,G__29245,new cljs.core.Keyword(null,"naval-tasking-manager","naval-tasking-manager",862649185));
}),(function (G__29245){
return cljs.core.contains_QMARK_.call(null,G__29245,new cljs.core.Keyword(null,"team","team",1355747699));
})], null),(function (G__29245){
return ((cljs.core.map_QMARK_.call(null,G__29245)) && (cljs.core.contains_QMARK_.call(null,G__29245,new cljs.core.Keyword(null,"air-tasking-manager","air-tasking-manager",-279900872))) && (cljs.core.contains_QMARK_.call(null,G__29245,new cljs.core.Keyword(null,"ground-tasking-manager","ground-tasking-manager",1373954444))) && (cljs.core.contains_QMARK_.call(null,G__29245,new cljs.core.Keyword(null,"naval-tasking-manager","naval-tasking-manager",862649185))) && (cljs.core.contains_QMARK_.call(null,G__29245,new cljs.core.Keyword(null,"team","team",1355747699))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","air-tasking-manager","weathergen.falcon.files.mission/air-tasking-manager",-1873112158),new cljs.core.Keyword("weathergen.falcon.files.mission","ground-tasking-manager","weathergen.falcon.files.mission/ground-tasking-manager",-288460034),new cljs.core.Keyword("weathergen.falcon.files.mission","naval-tasking-manager","weathergen.falcon.files.mission/naval-tasking-manager",346066399),new cljs.core.Keyword("team","team","team/team",1350128664)], null),null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"air-tasking-manager","air-tasking-manager",-279900872),new cljs.core.Keyword(null,"ground-tasking-manager","ground-tasking-manager",1373954444),new cljs.core.Keyword(null,"naval-tasking-manager","naval-tasking-manager",862649185),new cljs.core.Keyword(null,"team","team",1355747699)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 5, 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(null,"air-tasking-manager","air-tasking-manager",-279900872))),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(null,"ground-tasking-manager","ground-tasking-manager",1373954444))),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(null,"naval-tasking-manager","naval-tasking-manager",862649185))),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(null,"team","team",1355747699)))], null),null]));
weathergen.falcon.files.mission.Events = weathergen.falcon.files.mission.NotImplemented;
weathergen.falcon.files.mission.PrimaryObjectives = weathergen.falcon.files.mission.NotImplemented;
weathergen.falcon.files.mission.Pilots = weathergen.falcon.files.mission.NotImplemented;
weathergen.falcon.files.mission.PersistentObjects = weathergen.falcon.files.mission.NotImplemented;
weathergen.falcon.files.mission.Weather = weathergen.falcon.files.mission.NotImplemented;
weathergen.falcon.files.mission.Version = 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)],[new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("database","version","database/version",1963983397)], null),null,null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29246){
return cljs.core.map_QMARK_.call(null,G__29246);
}),(function (G__29246){
return cljs.core.contains_QMARK_.call(null,G__29246,new cljs.core.Keyword(null,"version","version",425292698));
})], null),(function (G__29246){
return ((cljs.core.map_QMARK_.call(null,G__29246)) && (cljs.core.contains_QMARK_.call(null,G__29246,new cljs.core.Keyword(null,"version","version",425292698))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("database","version","database/version",1963983397)], null),null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"version","version",425292698)], 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(null,"version","version",425292698)))], null),null]));
weathergen.falcon.files.mission.VictoryConditions = cljs.core.string_QMARK_;
weathergen.falcon.files.mission.Buffer = weathergen.falcon.files.mission.NotImplemented;
weathergen.falcon.files.mission.AugmentedObjective = cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","Objective","weathergen.falcon.files.mission/Objective",-1296315408,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, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694)], null))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.Objective,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, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29247){
return cljs.core.map_QMARK_.call(null,G__29247);
}),(function (G__29247){
return cljs.core.contains_QMARK_.call(null,G__29247,new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122));
}),(function (G__29247){
return cljs.core.contains_QMARK_.call(null,G__29247,new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917));
}),(function (G__29247){
return cljs.core.contains_QMARK_.call(null,G__29247,new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210));
}),(function (G__29247){
return cljs.core.contains_QMARK_.call(null,G__29247,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975));
}),(function (G__29247){
return cljs.core.contains_QMARK_.call(null,G__29247,new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694));
})], null),(function (G__29247){
return ((cljs.core.map_QMARK_.call(null,G__29247)) && (cljs.core.contains_QMARK_.call(null,G__29247,new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122))) && (cljs.core.contains_QMARK_.call(null,G__29247,new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917))) && (cljs.core.contains_QMARK_.call(null,G__29247,new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210))) && (cljs.core.contains_QMARK_.call(null,G__29247,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975))) && (cljs.core.contains_QMARK_.call(null,G__29247,new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694)], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694)], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 6, 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.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122))),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.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917))),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.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210))),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.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975))),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.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694)))], null),null]))], null),null);
weathergen.falcon.files.mission.Unit = cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignBaseFields","weathergen.falcon.files.mission/CampaignBaseFields",-911251124,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null, 14, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","cargo-id","weathergen.falcon.files.mission/cargo-id",331149980),new cljs.core.Keyword("weathergen.falcon.files.mission","current-wp","weathergen.falcon.files.mission/current-wp",1027104379),new cljs.core.Keyword("weathergen.falcon.files.mission","destination-x","weathergen.falcon.files.mission/destination-x",1925234136),new cljs.core.Keyword("weathergen.falcon.files.mission","destination-y","weathergen.falcon.files.mission/destination-y",198655710),new cljs.core.Keyword("weathergen.falcon.files.mission","last-check","weathergen.falcon.files.mission/last-check",-948350819),new cljs.core.Keyword("weathergen.falcon.files.mission","losses","weathergen.falcon.files.mission/losses",-1879114985),new cljs.core.Keyword("weathergen.falcon.files.mission","moved","weathergen.falcon.files.mission/moved",1009361001),new cljs.core.Keyword("weathergen.falcon.files.mission","name-id","weathergen.falcon.files.mission/name-id",-1810014458),new cljs.core.Keyword("weathergen.falcon.files.mission","reinforcement","weathergen.falcon.files.mission/reinforcement",-308550720),new cljs.core.Keyword("weathergen.falcon.files.mission","roster","weathergen.falcon.files.mission/roster",-401619194),new cljs.core.Keyword("weathergen.falcon.files.mission","tactic","weathergen.falcon.files.mission/tactic",661039788),new cljs.core.Keyword("weathergen.falcon.files.mission","target-id","weathergen.falcon.files.mission/target-id",167375943),new cljs.core.Keyword("weathergen.falcon.files.mission","unit-flags","weathergen.falcon.files.mission/unit-flags",-1918064651),new cljs.core.Keyword("weathergen.falcon.files.mission","waypoints","weathergen.falcon.files.mission/waypoints",712228162)], null))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.CampaignBaseFields,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)],[new cljs.core.PersistentVector(null, 14, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","cargo-id","weathergen.falcon.files.mission/cargo-id",331149980),new cljs.core.Keyword("weathergen.falcon.files.mission","current-wp","weathergen.falcon.files.mission/current-wp",1027104379),new cljs.core.Keyword("weathergen.falcon.files.mission","destination-x","weathergen.falcon.files.mission/destination-x",1925234136),new cljs.core.Keyword("weathergen.falcon.files.mission","destination-y","weathergen.falcon.files.mission/destination-y",198655710),new cljs.core.Keyword("weathergen.falcon.files.mission","last-check","weathergen.falcon.files.mission/last-check",-948350819),new cljs.core.Keyword("weathergen.falcon.files.mission","losses","weathergen.falcon.files.mission/losses",-1879114985),new cljs.core.Keyword("weathergen.falcon.files.mission","moved","weathergen.falcon.files.mission/moved",1009361001),new cljs.core.Keyword("weathergen.falcon.files.mission","name-id","weathergen.falcon.files.mission/name-id",-1810014458),new cljs.core.Keyword("weathergen.falcon.files.mission","reinforcement","weathergen.falcon.files.mission/reinforcement",-308550720),new cljs.core.Keyword("weathergen.falcon.files.mission","roster","weathergen.falcon.files.mission/roster",-401619194),new cljs.core.Keyword("weathergen.falcon.files.mission","tactic","weathergen.falcon.files.mission/tactic",661039788),new cljs.core.Keyword("weathergen.falcon.files.mission","target-id","weathergen.falcon.files.mission/target-id",167375943),new cljs.core.Keyword("weathergen.falcon.files.mission","unit-flags","weathergen.falcon.files.mission/unit-flags",-1918064651),new cljs.core.Keyword("weathergen.falcon.files.mission","waypoints","weathergen.falcon.files.mission/waypoints",712228162)], null),null,null,new cljs.core.PersistentVector(null, 15, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29248){
return cljs.core.map_QMARK_.call(null,G__29248);
}),(function (G__29248){
return cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"cargo-id","cargo-id",-1256830674));
}),(function (G__29248){
return cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"current-wp","current-wp",-661271807));
}),(function (G__29248){
return cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"destination-x","destination-x",360399650));
}),(function (G__29248){
return cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"destination-y","destination-y",1591470692));
}),(function (G__29248){
return cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"last-check","last-check",-339535317));
}),(function (G__29248){
return cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"losses","losses",-189206407));
}),(function (G__29248){
return cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"moved","moved",486549219));
}),(function (G__29248){
return cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"name-id","name-id",-279275372));
}),(function (G__29248){
return cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"reinforcement","reinforcement",-1971947958));
}),(function (G__29248){
return cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"roster","roster",-2092272532));
}),(function (G__29248){
return cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"tactic","tactic",-761722830));
}),(function (G__29248){
return cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"target-id","target-id",-1438159155));
}),(function (G__29248){
return cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"unit-flags","unit-flags",-1443684773));
}),(function (G__29248){
return cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"waypoints","waypoints",-844253224));
})], null),(function (G__29248){
return ((cljs.core.map_QMARK_.call(null,G__29248)) && (cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"cargo-id","cargo-id",-1256830674))) && (cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"current-wp","current-wp",-661271807))) && (cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"destination-x","destination-x",360399650))) && (cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"destination-y","destination-y",1591470692))) && (cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"last-check","last-check",-339535317))) && (cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"losses","losses",-189206407))) && (cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"moved","moved",486549219))) && (cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"name-id","name-id",-279275372))) && (cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"reinforcement","reinforcement",-1971947958))) && (cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"roster","roster",-2092272532))) && (cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"tactic","tactic",-761722830))) && (cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"target-id","target-id",-1438159155))) && (cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"unit-flags","unit-flags",-1443684773))) && (cljs.core.contains_QMARK_.call(null,G__29248,new cljs.core.Keyword(null,"waypoints","waypoints",-844253224))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 14, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","cargo-id","weathergen.falcon.files.mission/cargo-id",331149980),new cljs.core.Keyword("weathergen.falcon.files.mission","current-wp","weathergen.falcon.files.mission/current-wp",1027104379),new cljs.core.Keyword("weathergen.falcon.files.mission","destination-x","weathergen.falcon.files.mission/destination-x",1925234136),new cljs.core.Keyword("weathergen.falcon.files.mission","destination-y","weathergen.falcon.files.mission/destination-y",198655710),new cljs.core.Keyword("weathergen.falcon.files.mission","last-check","weathergen.falcon.files.mission/last-check",-948350819),new cljs.core.Keyword("weathergen.falcon.files.mission","losses","weathergen.falcon.files.mission/losses",-1879114985),new cljs.core.Keyword("weathergen.falcon.files.mission","moved","weathergen.falcon.files.mission/moved",1009361001),new cljs.core.Keyword("weathergen.falcon.files.mission","name-id","weathergen.falcon.files.mission/name-id",-1810014458),new cljs.core.Keyword("weathergen.falcon.files.mission","reinforcement","weathergen.falcon.files.mission/reinforcement",-308550720),new cljs.core.Keyword("weathergen.falcon.files.mission","roster","weathergen.falcon.files.mission/roster",-401619194),new cljs.core.Keyword("weathergen.falcon.files.mission","tactic","weathergen.falcon.files.mission/tactic",661039788),new cljs.core.Keyword("weathergen.falcon.files.mission","target-id","weathergen.falcon.files.mission/target-id",167375943),new cljs.core.Keyword("weathergen.falcon.files.mission","unit-flags","weathergen.falcon.files.mission/unit-flags",-1918064651),new cljs.core.Keyword("weathergen.falcon.files.mission","waypoints","weathergen.falcon.files.mission/waypoints",712228162)], null),null,new cljs.core.PersistentVector(null, 14, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"cargo-id","cargo-id",-1256830674),new cljs.core.Keyword(null,"current-wp","current-wp",-661271807),new cljs.core.Keyword(null,"destination-x","destination-x",360399650),new cljs.core.Keyword(null,"destination-y","destination-y",1591470692),new cljs.core.Keyword(null,"last-check","last-check",-339535317),new cljs.core.Keyword(null,"losses","losses",-189206407),new cljs.core.Keyword(null,"moved","moved",486549219),new cljs.core.Keyword(null,"name-id","name-id",-279275372),new cljs.core.Keyword(null,"reinforcement","reinforcement",-1971947958),new cljs.core.Keyword(null,"roster","roster",-2092272532),new cljs.core.Keyword(null,"tactic","tactic",-761722830),new cljs.core.Keyword(null,"target-id","target-id",-1438159155),new cljs.core.Keyword(null,"unit-flags","unit-flags",-1443684773),new cljs.core.Keyword(null,"waypoints","waypoints",-844253224)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 15, 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(null,"cargo-id","cargo-id",-1256830674))),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(null,"current-wp","current-wp",-661271807))),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(null,"destination-x","destination-x",360399650))),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(null,"destination-y","destination-y",1591470692))),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(null,"last-check","last-check",-339535317))),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(null,"losses","losses",-189206407))),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(null,"moved","moved",486549219))),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(null,"name-id","name-id",-279275372))),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(null,"reinforcement","reinforcement",-1971947958))),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(null,"roster","roster",-2092272532))),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(null,"tactic","tactic",-761722830))),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(null,"target-id","target-id",-1438159155))),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(null,"unit-flags","unit-flags",-1443684773))),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(null,"waypoints","waypoints",-844253224)))], null),null]))], null),null);
weathergen.falcon.files.mission.GroundUnit = 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)],[new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","aobj","weathergen.falcon.files.mission/aobj",1970877845),new cljs.core.Keyword("weathergen.falcon.files.mission","division","weathergen.falcon.files.mission/division",-1166211520),new cljs.core.Keyword("weathergen.falcon.files.mission","orders","weathergen.falcon.files.mission/orders",631905674)], null),null,null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29249){
return cljs.core.map_QMARK_.call(null,G__29249);
}),(function (G__29249){
return cljs.core.contains_QMARK_.call(null,G__29249,new cljs.core.Keyword(null,"aobj","aobj",-793409761));
}),(function (G__29249){
return cljs.core.contains_QMARK_.call(null,G__29249,new cljs.core.Keyword(null,"division","division",259369926));
}),(function (G__29249){
return cljs.core.contains_QMARK_.call(null,G__29249,new cljs.core.Keyword(null,"orders","orders",-1032870176));
})], null),(function (G__29249){
return ((cljs.core.map_QMARK_.call(null,G__29249)) && (cljs.core.contains_QMARK_.call(null,G__29249,new cljs.core.Keyword(null,"aobj","aobj",-793409761))) && (cljs.core.contains_QMARK_.call(null,G__29249,new cljs.core.Keyword(null,"division","division",259369926))) && (cljs.core.contains_QMARK_.call(null,G__29249,new cljs.core.Keyword(null,"orders","orders",-1032870176))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","aobj","weathergen.falcon.files.mission/aobj",1970877845),new cljs.core.Keyword("weathergen.falcon.files.mission","division","weathergen.falcon.files.mission/division",-1166211520),new cljs.core.Keyword("weathergen.falcon.files.mission","orders","weathergen.falcon.files.mission/orders",631905674)], null),null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"aobj","aobj",-793409761),new cljs.core.Keyword(null,"division","division",259369926),new cljs.core.Keyword(null,"orders","orders",-1032870176)], 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(null,"aobj","aobj",-793409761))),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(null,"division","division",259369926))),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(null,"orders","orders",-1032870176)))], null),null]));
weathergen.falcon.files.mission.UnitFlags = cljs.spec.alpha.every_impl.call(null,cljs.core.list(new cljs.core.Symbol("s","or","s/or",1876282981,null),new cljs.core.Keyword(null,"integer","integer",-604721710),new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),new cljs.core.Keyword(null,"keyword","keyword",811389747),new cljs.core.Symbol(null,"keyword?","keyword?",1917797069,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,"integer","integer",-604721710),new cljs.core.Keyword(null,"keyword","keyword",811389747)], 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),new cljs.core.Symbol("cljs.core","keyword?","cljs.core/keyword?",713156450,null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.integer_QMARK_,cljs.core.keyword_QMARK_], null),null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),new cljs.core.Symbol("cljs.core","set?","cljs.core/set?",-1176684971,null),new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),(function (G__29250){
return cljs.core.set_QMARK_.call(null,G__29250);
}),new cljs.core.Keyword(null,"kind","kind",-717265803),cljs.core.set_QMARK_,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","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"integer","integer",-604721710),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"keyword","keyword",811389747),new cljs.core.Symbol("cljs.core","keyword?","cljs.core/keyword?",713156450,null)),new cljs.core.Keyword(null,"kind","kind",-717265803),new cljs.core.Symbol("cljs.core","set?","cljs.core/set?",-1176684971,null))], null),null);
weathergen.falcon.files.mission.Squadron = cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","Unit","weathergen.falcon.files.mission/Unit",-1510668303,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, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-type","weathergen.falcon.files.mission/squadron-type",1124226793),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210)], null))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.Unit,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__29251){
return cljs.core.map_QMARK_.call(null,G__29251);
}),(function (G__29251){
return cljs.core.contains_QMARK_.call(null,G__29251,new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258));
}),(function (G__29251){
return cljs.core.contains_QMARK_.call(null,G__29251,new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-type","weathergen.falcon.files.mission/squadron-type",1124226793));
}),(function (G__29251){
return cljs.core.contains_QMARK_.call(null,G__29251,new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210));
})], null),(function (G__29251){
return ((cljs.core.map_QMARK_.call(null,G__29251)) && (cljs.core.contains_QMARK_.call(null,G__29251,new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258))) && (cljs.core.contains_QMARK_.call(null,G__29251,new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-type","weathergen.falcon.files.mission/squadron-type",1124226793))) && (cljs.core.contains_QMARK_.call(null,G__29251,new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-type","weathergen.falcon.files.mission/squadron-type",1124226793),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-type","weathergen.falcon.files.mission/squadron-type",1124226793),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-type","weathergen.falcon.files.mission/squadron-type",1124226793),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210)], 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.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258))),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.falcon.files.mission","squadron-type","weathergen.falcon.files.mission/squadron-type",1124226793))),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.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210)))], null),null]))], null),null);
weathergen.falcon.files.mission.Waypoint = 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)],[new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","action","weathergen.falcon.files.mission/action",811270626),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","formation","weathergen.falcon.files.mission/formation",-1712272813),new cljs.core.Keyword("weathergen.falcon.files.mission","grid-x","weathergen.falcon.files.mission/grid-x",-804658896),new cljs.core.Keyword("weathergen.falcon.files.mission","grid-y","weathergen.falcon.files.mission/grid-y",-700621092),new cljs.core.Keyword("weathergen.falcon.files.mission","haves","weathergen.falcon.files.mission/haves",-1012743932),new cljs.core.Keyword("weathergen.falcon.files.mission","target-building","weathergen.falcon.files.mission/target-building",-2079590718),new cljs.core.Keyword("weathergen.falcon.files.mission","target-id","weathergen.falcon.files.mission/target-id",167375943)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","arrive","weathergen.falcon.files.mission/arrive",1398022348),new cljs.core.Keyword("weathergen.falcon.files.mission","depart","weathergen.falcon.files.mission/depart",-1655269341)], null),null,new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29252){
return cljs.core.map_QMARK_.call(null,G__29252);
}),(function (G__29252){
return cljs.core.contains_QMARK_.call(null,G__29252,new cljs.core.Keyword(null,"action","action",-811238024));
}),(function (G__29252){
return cljs.core.contains_QMARK_.call(null,G__29252,new cljs.core.Keyword(null,"flags","flags",1775418075));
}),(function (G__29252){
return cljs.core.contains_QMARK_.call(null,G__29252,new cljs.core.Keyword(null,"formation","formation",-38517787));
}),(function (G__29252){
return cljs.core.contains_QMARK_.call(null,G__29252,new cljs.core.Keyword(null,"grid-x","grid-x",1935903622));
}),(function (G__29252){
return cljs.core.contains_QMARK_.call(null,G__29252,new cljs.core.Keyword(null,"grid-y","grid-y",1140315474));
}),(function (G__29252){
return cljs.core.contains_QMARK_.call(null,G__29252,new cljs.core.Keyword(null,"haves","haves",-405191810));
}),(function (G__29252){
return cljs.core.contains_QMARK_.call(null,G__29252,new cljs.core.Keyword(null,"target-building","target-building",-464097984));
}),(function (G__29252){
return cljs.core.contains_QMARK_.call(null,G__29252,new cljs.core.Keyword(null,"target-id","target-id",-1438159155));
})], null),(function (G__29252){
return ((cljs.core.map_QMARK_.call(null,G__29252)) && (cljs.core.contains_QMARK_.call(null,G__29252,new cljs.core.Keyword(null,"action","action",-811238024))) && (cljs.core.contains_QMARK_.call(null,G__29252,new cljs.core.Keyword(null,"flags","flags",1775418075))) && (cljs.core.contains_QMARK_.call(null,G__29252,new cljs.core.Keyword(null,"formation","formation",-38517787))) && (cljs.core.contains_QMARK_.call(null,G__29252,new cljs.core.Keyword(null,"grid-x","grid-x",1935903622))) && (cljs.core.contains_QMARK_.call(null,G__29252,new cljs.core.Keyword(null,"grid-y","grid-y",1140315474))) && (cljs.core.contains_QMARK_.call(null,G__29252,new cljs.core.Keyword(null,"haves","haves",-405191810))) && (cljs.core.contains_QMARK_.call(null,G__29252,new cljs.core.Keyword(null,"target-building","target-building",-464097984))) && (cljs.core.contains_QMARK_.call(null,G__29252,new cljs.core.Keyword(null,"target-id","target-id",-1438159155))));
}),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"arrive","arrive",-284644322),new cljs.core.Keyword(null,"depart","depart",-100007287)], null),new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","action","weathergen.falcon.files.mission/action",811270626),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","formation","weathergen.falcon.files.mission/formation",-1712272813),new cljs.core.Keyword("weathergen.falcon.files.mission","grid-x","weathergen.falcon.files.mission/grid-x",-804658896),new cljs.core.Keyword("weathergen.falcon.files.mission","grid-y","weathergen.falcon.files.mission/grid-y",-700621092),new cljs.core.Keyword("weathergen.falcon.files.mission","haves","weathergen.falcon.files.mission/haves",-1012743932),new cljs.core.Keyword("weathergen.falcon.files.mission","target-building","weathergen.falcon.files.mission/target-building",-2079590718),new cljs.core.Keyword("weathergen.falcon.files.mission","target-id","weathergen.falcon.files.mission/target-id",167375943)], null),null,new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"action","action",-811238024),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.Keyword(null,"formation","formation",-38517787),new cljs.core.Keyword(null,"grid-x","grid-x",1935903622),new cljs.core.Keyword(null,"grid-y","grid-y",1140315474),new cljs.core.Keyword(null,"haves","haves",-405191810),new cljs.core.Keyword(null,"target-building","target-building",-464097984),new cljs.core.Keyword(null,"target-id","target-id",-1438159155)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","arrive","weathergen.falcon.files.mission/arrive",1398022348),new cljs.core.Keyword("weathergen.falcon.files.mission","depart","weathergen.falcon.files.mission/depart",-1655269341)], null),new cljs.core.PersistentVector(null, 9, 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(null,"action","action",-811238024))),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(null,"flags","flags",1775418075))),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(null,"formation","formation",-38517787))),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(null,"grid-x","grid-x",1935903622))),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(null,"grid-y","grid-y",1140315474))),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(null,"haves","haves",-405191810))),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(null,"target-building","target-building",-464097984))),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(null,"target-id","target-id",-1438159155)))], null),null]));
weathergen.falcon.files.mission.Aircraft = 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)],[new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","airframe","weathergen.falcon.files.mission/airframe",201933592),new cljs.core.Keyword("weathergen.falcon.files.mission","quantity","weathergen.falcon.files.mission/quantity",264407876)], null),null,null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29253){
return cljs.core.map_QMARK_.call(null,G__29253);
}),(function (G__29253){
return cljs.core.contains_QMARK_.call(null,G__29253,new cljs.core.Keyword(null,"airframe","airframe",643222926));
}),(function (G__29253){
return cljs.core.contains_QMARK_.call(null,G__29253,new cljs.core.Keyword(null,"quantity","quantity",-1929050694));
})], null),(function (G__29253){
return ((cljs.core.map_QMARK_.call(null,G__29253)) && (cljs.core.contains_QMARK_.call(null,G__29253,new cljs.core.Keyword(null,"airframe","airframe",643222926))) && (cljs.core.contains_QMARK_.call(null,G__29253,new cljs.core.Keyword(null,"quantity","quantity",-1929050694))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","airframe","weathergen.falcon.files.mission/airframe",201933592),new cljs.core.Keyword("weathergen.falcon.files.mission","quantity","weathergen.falcon.files.mission/quantity",264407876)], null),null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"airframe","airframe",643222926),new cljs.core.Keyword(null,"quantity","quantity",-1929050694)], 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(null,"airframe","airframe",643222926))),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(null,"quantity","quantity",-1929050694)))], null),null]));
weathergen.falcon.files.mission.Loadout = 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)],[new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("loadout","id","loadout/id",-1186090580),new cljs.core.Keyword("loadout","count","loadout/count",-1411670515)], null),null,null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29254){
return cljs.core.map_QMARK_.call(null,G__29254);
}),(function (G__29254){
return cljs.core.contains_QMARK_.call(null,G__29254,new cljs.core.Keyword(null,"id","id",-1388402092));
}),(function (G__29254){
return cljs.core.contains_QMARK_.call(null,G__29254,new cljs.core.Keyword(null,"count","count",2139924085));
})], null),(function (G__29254){
return ((cljs.core.map_QMARK_.call(null,G__29254)) && (cljs.core.contains_QMARK_.call(null,G__29254,new cljs.core.Keyword(null,"id","id",-1388402092))) && (cljs.core.contains_QMARK_.call(null,G__29254,new cljs.core.Keyword(null,"count","count",2139924085))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("loadout","id","loadout/id",-1186090580),new cljs.core.Keyword("loadout","count","loadout/count",-1411670515)], null),null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"count","count",2139924085)], 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(null,"id","id",-1388402092))),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(null,"count","count",2139924085)))], null),null]));
weathergen.falcon.files.mission.VmtLoadout = cljs.spec.alpha.every_impl.call(null,cljs.core.list(new cljs.core.Symbol("s","keys","s/keys",-1586011188,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","quantity","weathergen.falcon.files.mission/quantity",264407876)], 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)],[new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","quantity","weathergen.falcon.files.mission/quantity",264407876)], null),null,null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29256){
return cljs.core.map_QMARK_.call(null,G__29256);
}),(function (G__29256){
return cljs.core.contains_QMARK_.call(null,G__29256,new cljs.core.Keyword(null,"name","name",1843675177));
}),(function (G__29256){
return cljs.core.contains_QMARK_.call(null,G__29256,new cljs.core.Keyword(null,"quantity","quantity",-1929050694));
})], null),(function (G__29256){
return ((cljs.core.map_QMARK_.call(null,G__29256)) && (cljs.core.contains_QMARK_.call(null,G__29256,new cljs.core.Keyword(null,"name","name",1843675177))) && (cljs.core.contains_QMARK_.call(null,G__29256,new cljs.core.Keyword(null,"quantity","quantity",-1929050694))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","quantity","weathergen.falcon.files.mission/quantity",264407876)], null),null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"quantity","quantity",-1929050694)], 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(null,"name","name",1843675177))),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(null,"quantity","quantity",-1929050694)))], null),null])),new cljs.core.PersistentArrayMap(null, 4, [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__29255){
return cljs.core.coll_QMARK_.call(null,G__29255);
}),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","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","quantity","weathergen.falcon.files.mission/quantity",264407876)], null)))], null),null);
weathergen.falcon.files.mission.Flight = cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","Unit","weathergen.falcon.files.mission/Unit",-1510668303,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null, 29, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","initial-fuel","weathergen.falcon.files.mission/initial-fuel",-151699645),new cljs.core.Keyword("flight","type","flight/type",-1312723716),new cljs.core.Keyword("weathergen.falcon.files.mission","pos-z","weathergen.falcon.files.mission/pos-z",415078470),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-burnt","weathergen.falcon.files.mission/fuel-burnt",1582543204),new cljs.core.Keyword("weathergen.falcon.files.mission","laser-codes","weathergen.falcon.files.mission/laser-codes",-782137624),new cljs.core.Keyword("weathergen.falcon.files.mission","last-move","weathergen.falcon.files.mission/last-move",379400310),new cljs.core.Keyword("weathergen.falcon.files.mission","last-combat","weathergen.falcon.files.mission/last-combat",-2053677989),new cljs.core.Keyword("weathergen.falcon.files.mission","time-on-target","weathergen.falcon.files.mission/time-on-target",1754786574),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-over-time","weathergen.falcon.files.mission/mission-over-time",-1661900701),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-target","weathergen.falcon.files.mission/mission-target",1990621919),new cljs.core.Keyword("flight","loadouts","flight/loadouts",-1590233423),new cljs.core.Keyword("flight","mission","flight/mission",472463770),new cljs.core.Keyword("weathergen.falcon.files.mission","old-mission","weathergen.falcon.files.mission/old-mission",-1684443929),new cljs.core.Keyword("weathergen.falcon.files.mission","last-direction","weathergen.falcon.files.mission/last-direction",919811040),new cljs.core.Keyword("weathergen.falcon.files.mission","priority","weathergen.falcon.files.mission/priority",1887991877),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-id","weathergen.falcon.files.mission/mission-id",-298821030),new cljs.core.Keyword("weathergen.falcon.files.mission","eval-flags","weathergen.falcon.files.mission/eval-flags",1247665702),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-context","weathergen.falcon.files.mission/mission-context",-2087987666),new cljs.core.Keyword("flight","package","flight/package",-1294787534),new cljs.core.Keyword("flight","squadron","flight/squadron",13800615),new cljs.core.Keyword("weathergen.falcon.files.mission","requester","weathergen.falcon.files.mission/requester",323342959),new cljs.core.Keyword("weathergen.falcon.files.mission","slots","weathergen.falcon.files.mission/slots",1866096404),new cljs.core.Keyword("flight","pilots","flight/pilots",1226839277),new cljs.core.Keyword("weathergen.falcon.files.mission","plane-stats","weathergen.falcon.files.mission/plane-stats",596458237),new cljs.core.Keyword("weathergen.falcon.files.mission","player-slots","weathergen.falcon.files.mission/player-slots",-318111164),new cljs.core.Keyword("weathergen.falcon.files.mission","last-player-slot","weathergen.falcon.files.mission/last-player-slot",1113132742),new cljs.core.Keyword("weathergen.falcon.files.mission","callsign-id","weathergen.falcon.files.mission/callsign-id",-1180066971),new cljs.core.Keyword("weathergen.falcon.files.mission","callsign-num","weathergen.falcon.files.mission/callsign-num",-105981196),new cljs.core.Keyword("weathergen.falcon.files.mission","refuel-quantity","weathergen.falcon.files.mission/refuel-quantity",1738806084)], null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","airbase","weathergen.falcon.files.mission/airbase",-1926407441),new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258),new cljs.core.Keyword("weathergen.falcon.files.mission","loadouts","weathergen.falcon.files.mission/loadouts",142269567),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-image","weathergen.falcon.files.mission/squadron-image",-423118152)], null))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.Unit,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)],[new cljs.core.PersistentVector(null, 29, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","initial-fuel","weathergen.falcon.files.mission/initial-fuel",-151699645),new cljs.core.Keyword("flight","type","flight/type",-1312723716),new cljs.core.Keyword("weathergen.falcon.files.mission","pos-z","weathergen.falcon.files.mission/pos-z",415078470),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-burnt","weathergen.falcon.files.mission/fuel-burnt",1582543204),new cljs.core.Keyword("weathergen.falcon.files.mission","laser-codes","weathergen.falcon.files.mission/laser-codes",-782137624),new cljs.core.Keyword("weathergen.falcon.files.mission","last-move","weathergen.falcon.files.mission/last-move",379400310),new cljs.core.Keyword("weathergen.falcon.files.mission","last-combat","weathergen.falcon.files.mission/last-combat",-2053677989),new cljs.core.Keyword("weathergen.falcon.files.mission","time-on-target","weathergen.falcon.files.mission/time-on-target",1754786574),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-over-time","weathergen.falcon.files.mission/mission-over-time",-1661900701),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-target","weathergen.falcon.files.mission/mission-target",1990621919),new cljs.core.Keyword("flight","loadouts","flight/loadouts",-1590233423),new cljs.core.Keyword("flight","mission","flight/mission",472463770),new cljs.core.Keyword("weathergen.falcon.files.mission","old-mission","weathergen.falcon.files.mission/old-mission",-1684443929),new cljs.core.Keyword("weathergen.falcon.files.mission","last-direction","weathergen.falcon.files.mission/last-direction",919811040),new cljs.core.Keyword("weathergen.falcon.files.mission","priority","weathergen.falcon.files.mission/priority",1887991877),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-id","weathergen.falcon.files.mission/mission-id",-298821030),new cljs.core.Keyword("weathergen.falcon.files.mission","eval-flags","weathergen.falcon.files.mission/eval-flags",1247665702),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-context","weathergen.falcon.files.mission/mission-context",-2087987666),new cljs.core.Keyword("flight","package","flight/package",-1294787534),new cljs.core.Keyword("flight","squadron","flight/squadron",13800615),new cljs.core.Keyword("weathergen.falcon.files.mission","requester","weathergen.falcon.files.mission/requester",323342959),new cljs.core.Keyword("weathergen.falcon.files.mission","slots","weathergen.falcon.files.mission/slots",1866096404),new cljs.core.Keyword("flight","pilots","flight/pilots",1226839277),new cljs.core.Keyword("weathergen.falcon.files.mission","plane-stats","weathergen.falcon.files.mission/plane-stats",596458237),new cljs.core.Keyword("weathergen.falcon.files.mission","player-slots","weathergen.falcon.files.mission/player-slots",-318111164),new cljs.core.Keyword("weathergen.falcon.files.mission","last-player-slot","weathergen.falcon.files.mission/last-player-slot",1113132742),new cljs.core.Keyword("weathergen.falcon.files.mission","callsign-id","weathergen.falcon.files.mission/callsign-id",-1180066971),new cljs.core.Keyword("weathergen.falcon.files.mission","callsign-num","weathergen.falcon.files.mission/callsign-num",-105981196),new cljs.core.Keyword("weathergen.falcon.files.mission","refuel-quantity","weathergen.falcon.files.mission/refuel-quantity",1738806084)], null),null,null,cljs.core.PersistentVector.fromArray([(function (G__29257){
return cljs.core.map_QMARK_.call(null,G__29257);
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword("weathergen.falcon.files.mission","airbase","weathergen.falcon.files.mission/airbase",-1926407441));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword("weathergen.falcon.files.mission","loadouts","weathergen.falcon.files.mission/loadouts",142269567));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-image","weathergen.falcon.files.mission/squadron-image",-423118152));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"initial-fuel","initial-fuel",-761608263));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"type","type",1174270348));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"pos-z","pos-z",-2046554196));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"fuel-burnt","fuel-burnt",1132148442));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"laser-codes","laser-codes",1856569714));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"last-move","last-move",2069214404));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"last-combat","last-combat",406442709));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"time-on-target","time-on-target",-857850216));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"mission-over-time","mission-over-time",949947865));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"mission-target","mission-target",467808629));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"loadouts","loadouts",1824879361));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"mission","mission",1740288522));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"old-mission","old-mission",-292358051));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"last-direction","last-direction",-1676432794));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"priority","priority",1431093715));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"mission-id","mission-id",1232466132));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"eval-flags","eval-flags",1604606092));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"mission-context","mission-context",-1613541188));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"package","package",1189062786));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"squadron","squadron",-1131671273));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"requester","requester",2032946161));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"slots","slots",276818598));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"pilots","pilots",353525853));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"plane-stats","plane-stats",-4010361));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"player-slots","player-slots",-2024567622));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"last-player-slot","last-player-slot",-1491370688));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"callsign-id","callsign-id",501232863));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"callsign-num","callsign-num",-1771041170));
}),(function (G__29257){
return cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"refuel-quantity","refuel-quantity",-765272130));
})], true),(function (G__29257){
return ((cljs.core.map_QMARK_.call(null,G__29257)) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword("weathergen.falcon.files.mission","airbase","weathergen.falcon.files.mission/airbase",-1926407441))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword("weathergen.falcon.files.mission","loadouts","weathergen.falcon.files.mission/loadouts",142269567))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-image","weathergen.falcon.files.mission/squadron-image",-423118152))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"initial-fuel","initial-fuel",-761608263))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"type","type",1174270348))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"pos-z","pos-z",-2046554196))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"fuel-burnt","fuel-burnt",1132148442))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"laser-codes","laser-codes",1856569714))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"last-move","last-move",2069214404))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"last-combat","last-combat",406442709))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"time-on-target","time-on-target",-857850216))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"mission-over-time","mission-over-time",949947865))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"mission-target","mission-target",467808629))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"loadouts","loadouts",1824879361))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"mission","mission",1740288522))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"old-mission","old-mission",-292358051))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"last-direction","last-direction",-1676432794))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"priority","priority",1431093715))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"mission-id","mission-id",1232466132))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"eval-flags","eval-flags",1604606092))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"mission-context","mission-context",-1613541188))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"package","package",1189062786))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"squadron","squadron",-1131671273))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"requester","requester",2032946161))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"slots","slots",276818598))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"pilots","pilots",353525853))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"plane-stats","plane-stats",-4010361))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"player-slots","player-slots",-2024567622))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"last-player-slot","last-player-slot",-1491370688))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"callsign-id","callsign-id",501232863))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"callsign-num","callsign-num",-1771041170))) && (cljs.core.contains_QMARK_.call(null,G__29257,new cljs.core.Keyword(null,"refuel-quantity","refuel-quantity",-765272130))));
}),cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.fromArray([new cljs.core.Keyword("weathergen.falcon.files.mission","airbase","weathergen.falcon.files.mission/airbase",-1926407441),new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258),new cljs.core.Keyword("weathergen.falcon.files.mission","loadouts","weathergen.falcon.files.mission/loadouts",142269567),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-image","weathergen.falcon.files.mission/squadron-image",-423118152),new cljs.core.Keyword("weathergen.falcon.files.mission","initial-fuel","weathergen.falcon.files.mission/initial-fuel",-151699645),new cljs.core.Keyword("flight","type","flight/type",-1312723716),new cljs.core.Keyword("weathergen.falcon.files.mission","pos-z","weathergen.falcon.files.mission/pos-z",415078470),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-burnt","weathergen.falcon.files.mission/fuel-burnt",1582543204),new cljs.core.Keyword("weathergen.falcon.files.mission","laser-codes","weathergen.falcon.files.mission/laser-codes",-782137624),new cljs.core.Keyword("weathergen.falcon.files.mission","last-move","weathergen.falcon.files.mission/last-move",379400310),new cljs.core.Keyword("weathergen.falcon.files.mission","last-combat","weathergen.falcon.files.mission/last-combat",-2053677989),new cljs.core.Keyword("weathergen.falcon.files.mission","time-on-target","weathergen.falcon.files.mission/time-on-target",1754786574),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-over-time","weathergen.falcon.files.mission/mission-over-time",-1661900701),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-target","weathergen.falcon.files.mission/mission-target",1990621919),new cljs.core.Keyword("flight","loadouts","flight/loadouts",-1590233423),new cljs.core.Keyword("flight","mission","flight/mission",472463770),new cljs.core.Keyword("weathergen.falcon.files.mission","old-mission","weathergen.falcon.files.mission/old-mission",-1684443929),new cljs.core.Keyword("weathergen.falcon.files.mission","last-direction","weathergen.falcon.files.mission/last-direction",919811040),new cljs.core.Keyword("weathergen.falcon.files.mission","priority","weathergen.falcon.files.mission/priority",1887991877),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-id","weathergen.falcon.files.mission/mission-id",-298821030),new cljs.core.Keyword("weathergen.falcon.files.mission","eval-flags","weathergen.falcon.files.mission/eval-flags",1247665702),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-context","weathergen.falcon.files.mission/mission-context",-2087987666),new cljs.core.Keyword("flight","package","flight/package",-1294787534),new cljs.core.Keyword("flight","squadron","flight/squadron",13800615),new cljs.core.Keyword("weathergen.falcon.files.mission","requester","weathergen.falcon.files.mission/requester",323342959),new cljs.core.Keyword("weathergen.falcon.files.mission","slots","weathergen.falcon.files.mission/slots",1866096404),new cljs.core.Keyword("flight","pilots","flight/pilots",1226839277),new cljs.core.Keyword("weathergen.falcon.files.mission","plane-stats","weathergen.falcon.files.mission/plane-stats",596458237),new cljs.core.Keyword("weathergen.falcon.files.mission","player-slots","weathergen.falcon.files.mission/player-slots",-318111164),new cljs.core.Keyword("weathergen.falcon.files.mission","last-player-slot","weathergen.falcon.files.mission/last-player-slot",1113132742),new cljs.core.Keyword("weathergen.falcon.files.mission","callsign-id","weathergen.falcon.files.mission/callsign-id",-1180066971),new cljs.core.Keyword("weathergen.falcon.files.mission","callsign-num","weathergen.falcon.files.mission/callsign-num",-105981196),new cljs.core.Keyword("weathergen.falcon.files.mission","refuel-quantity","weathergen.falcon.files.mission/refuel-quantity",1738806084)], true),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","airbase","weathergen.falcon.files.mission/airbase",-1926407441),new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258),new cljs.core.Keyword("weathergen.falcon.files.mission","loadouts","weathergen.falcon.files.mission/loadouts",142269567),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-image","weathergen.falcon.files.mission/squadron-image",-423118152)], null),cljs.core.PersistentVector.fromArray([new cljs.core.Keyword("weathergen.falcon.files.mission","airbase","weathergen.falcon.files.mission/airbase",-1926407441),new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258),new cljs.core.Keyword("weathergen.falcon.files.mission","loadouts","weathergen.falcon.files.mission/loadouts",142269567),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-image","weathergen.falcon.files.mission/squadron-image",-423118152),new cljs.core.Keyword(null,"initial-fuel","initial-fuel",-761608263),new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"pos-z","pos-z",-2046554196),new cljs.core.Keyword(null,"fuel-burnt","fuel-burnt",1132148442),new cljs.core.Keyword(null,"laser-codes","laser-codes",1856569714),new cljs.core.Keyword(null,"last-move","last-move",2069214404),new cljs.core.Keyword(null,"last-combat","last-combat",406442709),new cljs.core.Keyword(null,"time-on-target","time-on-target",-857850216),new cljs.core.Keyword(null,"mission-over-time","mission-over-time",949947865),new cljs.core.Keyword(null,"mission-target","mission-target",467808629),new cljs.core.Keyword(null,"loadouts","loadouts",1824879361),new cljs.core.Keyword(null,"mission","mission",1740288522),new cljs.core.Keyword(null,"old-mission","old-mission",-292358051),new cljs.core.Keyword(null,"last-direction","last-direction",-1676432794),new cljs.core.Keyword(null,"priority","priority",1431093715),new cljs.core.Keyword(null,"mission-id","mission-id",1232466132),new cljs.core.Keyword(null,"eval-flags","eval-flags",1604606092),new cljs.core.Keyword(null,"mission-context","mission-context",-1613541188),new cljs.core.Keyword(null,"package","package",1189062786),new cljs.core.Keyword(null,"squadron","squadron",-1131671273),new cljs.core.Keyword(null,"requester","requester",2032946161),new cljs.core.Keyword(null,"slots","slots",276818598),new cljs.core.Keyword(null,"pilots","pilots",353525853),new cljs.core.Keyword(null,"plane-stats","plane-stats",-4010361),new cljs.core.Keyword(null,"player-slots","player-slots",-2024567622),new cljs.core.Keyword(null,"last-player-slot","last-player-slot",-1491370688),new cljs.core.Keyword(null,"callsign-id","callsign-id",501232863),new cljs.core.Keyword(null,"callsign-num","callsign-num",-1771041170),new cljs.core.Keyword(null,"refuel-quantity","refuel-quantity",-765272130)], true),cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.fromArray([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.falcon.files.mission","airbase","weathergen.falcon.files.mission/airbase",-1926407441))),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.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258))),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.falcon.files.mission","loadouts","weathergen.falcon.files.mission/loadouts",142269567))),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.falcon.files.mission","squadron-image","weathergen.falcon.files.mission/squadron-image",-423118152))),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(null,"initial-fuel","initial-fuel",-761608263))),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(null,"type","type",1174270348))),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(null,"pos-z","pos-z",-2046554196))),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(null,"fuel-burnt","fuel-burnt",1132148442))),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(null,"laser-codes","laser-codes",1856569714))),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(null,"last-move","last-move",2069214404))),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(null,"last-combat","last-combat",406442709))),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(null,"time-on-target","time-on-target",-857850216))),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(null,"mission-over-time","mission-over-time",949947865))),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(null,"mission-target","mission-target",467808629))),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(null,"loadouts","loadouts",1824879361))),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(null,"mission","mission",1740288522))),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(null,"old-mission","old-mission",-292358051))),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(null,"last-direction","last-direction",-1676432794))),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(null,"priority","priority",1431093715))),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(null,"mission-id","mission-id",1232466132))),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(null,"eval-flags","eval-flags",1604606092))),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(null,"mission-context","mission-context",-1613541188))),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(null,"package","package",1189062786))),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(null,"squadron","squadron",-1131671273))),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(null,"requester","requester",2032946161))),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(null,"slots","slots",276818598))),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(null,"pilots","pilots",353525853))),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(null,"plane-stats","plane-stats",-4010361))),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(null,"player-slots","player-slots",-2024567622))),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(null,"last-player-slot","last-player-slot",-1491370688))),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(null,"callsign-id","callsign-id",501232863))),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(null,"callsign-num","callsign-num",-1771041170))),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(null,"refuel-quantity","refuel-quantity",-765272130)))], true),null]))], null),null);
weathergen.falcon.files.mission.Carrier = cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","Unit","weathergen.falcon.files.mission/Unit",-1510668303,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, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)], null))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.Unit,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, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29258){
return cljs.core.map_QMARK_.call(null,G__29258);
}),(function (G__29258){
return cljs.core.contains_QMARK_.call(null,G__29258,new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122));
}),(function (G__29258){
return cljs.core.contains_QMARK_.call(null,G__29258,new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917));
}),(function (G__29258){
return cljs.core.contains_QMARK_.call(null,G__29258,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110));
}),(function (G__29258){
return cljs.core.contains_QMARK_.call(null,G__29258,new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210));
}),(function (G__29258){
return cljs.core.contains_QMARK_.call(null,G__29258,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975));
})], null),(function (G__29258){
return ((cljs.core.map_QMARK_.call(null,G__29258)) && (cljs.core.contains_QMARK_.call(null,G__29258,new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122))) && (cljs.core.contains_QMARK_.call(null,G__29258,new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917))) && (cljs.core.contains_QMARK_.call(null,G__29258,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110))) && (cljs.core.contains_QMARK_.call(null,G__29258,new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210))) && (cljs.core.contains_QMARK_.call(null,G__29258,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 6, 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.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122))),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.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917))),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.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110))),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.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210))),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.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)))], null),null]))], null),null);
weathergen.falcon.files.mission.ArmyBase = cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","AugmentedObjective","weathergen.falcon.files.mission/AugmentedObjective",1698727821,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null, 23, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","base-flags","weathergen.falcon.files.mission/base-flags",1559416842),new cljs.core.Keyword("weathergen.falcon.files.mission","camp-id","weathergen.falcon.files.mission/camp-id",413408440),new cljs.core.Keyword("weathergen.falcon.files.mission","entity-type","weathergen.falcon.files.mission/entity-type",-427082019),new cljs.core.Keyword("weathergen.falcon.files.mission","f-status","weathergen.falcon.files.mission/f-status",-1947313271),new cljs.core.Keyword("weathergen.falcon.files.mission","first-owner","weathergen.falcon.files.mission/first-owner",-619274258),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel","weathergen.falcon.files.mission/fuel",760787687),new cljs.core.Keyword("map","id","map/id",-1388423944),new cljs.core.Keyword("weathergen.falcon.files.mission","last-repair","weathergen.falcon.files.mission/last-repair",-1526954899),new cljs.core.Keyword("weathergen.falcon.files.mission","links","weathergen.falcon.files.mission/links",875727916),new cljs.core.Keyword("weathergen.falcon.files.mission","losses","weathergen.falcon.files.mission/losses",-1879114985),new cljs.core.Keyword("weathergen.falcon.files.mission","name-id","weathergen.falcon.files.mission/name-id",-1810014458),new cljs.core.Keyword("weathergen.falcon.files.mission","obj-flags","weathergen.falcon.files.mission/obj-flags",693464809),new cljs.core.Keyword("weathergen.falcon.files.mission","objective-type","weathergen.falcon.files.mission/objective-type",343871032),new cljs.core.Keyword("weathergen.falcon.files.mission","owner","weathergen.falcon.files.mission/owner",1206032935),new cljs.core.Keyword("weathergen.falcon.files.mission","parent","weathergen.falcon.files.mission/parent",544339251),new cljs.core.Keyword("weathergen.falcon.files.mission","priority","weathergen.falcon.files.mission/priority",1887991877),new cljs.core.Keyword("weathergen.falcon.files.mission","radar-data","weathergen.falcon.files.mission/radar-data",1026796848),new cljs.core.Keyword("weathergen.falcon.files.mission","spot-time","weathergen.falcon.files.mission/spot-time",-1289121708),new cljs.core.Keyword("weathergen.falcon.files.mission","spotted","weathergen.falcon.files.mission/spotted",807895248),new cljs.core.Keyword("weathergen.falcon.files.mission","supply","weathergen.falcon.files.mission/supply",-45632963),new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078),new cljs.core.Keyword("weathergen.falcon.files.mission","z","weathergen.falcon.files.mission/z",908766951)], null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917)], null))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.AugmentedObjective,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)],[new cljs.core.PersistentVector(null, 23, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","base-flags","weathergen.falcon.files.mission/base-flags",1559416842),new cljs.core.Keyword("weathergen.falcon.files.mission","camp-id","weathergen.falcon.files.mission/camp-id",413408440),new cljs.core.Keyword("weathergen.falcon.files.mission","entity-type","weathergen.falcon.files.mission/entity-type",-427082019),new cljs.core.Keyword("weathergen.falcon.files.mission","f-status","weathergen.falcon.files.mission/f-status",-1947313271),new cljs.core.Keyword("weathergen.falcon.files.mission","first-owner","weathergen.falcon.files.mission/first-owner",-619274258),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel","weathergen.falcon.files.mission/fuel",760787687),new cljs.core.Keyword("map","id","map/id",-1388423944),new cljs.core.Keyword("weathergen.falcon.files.mission","last-repair","weathergen.falcon.files.mission/last-repair",-1526954899),new cljs.core.Keyword("weathergen.falcon.files.mission","links","weathergen.falcon.files.mission/links",875727916),new cljs.core.Keyword("weathergen.falcon.files.mission","losses","weathergen.falcon.files.mission/losses",-1879114985),new cljs.core.Keyword("weathergen.falcon.files.mission","name-id","weathergen.falcon.files.mission/name-id",-1810014458),new cljs.core.Keyword("weathergen.falcon.files.mission","obj-flags","weathergen.falcon.files.mission/obj-flags",693464809),new cljs.core.Keyword("weathergen.falcon.files.mission","objective-type","weathergen.falcon.files.mission/objective-type",343871032),new cljs.core.Keyword("weathergen.falcon.files.mission","owner","weathergen.falcon.files.mission/owner",1206032935),new cljs.core.Keyword("weathergen.falcon.files.mission","parent","weathergen.falcon.files.mission/parent",544339251),new cljs.core.Keyword("weathergen.falcon.files.mission","priority","weathergen.falcon.files.mission/priority",1887991877),new cljs.core.Keyword("weathergen.falcon.files.mission","radar-data","weathergen.falcon.files.mission/radar-data",1026796848),new cljs.core.Keyword("weathergen.falcon.files.mission","spot-time","weathergen.falcon.files.mission/spot-time",-1289121708),new cljs.core.Keyword("weathergen.falcon.files.mission","spotted","weathergen.falcon.files.mission/spotted",807895248),new cljs.core.Keyword("weathergen.falcon.files.mission","supply","weathergen.falcon.files.mission/supply",-45632963),new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078),new cljs.core.Keyword("weathergen.falcon.files.mission","z","weathergen.falcon.files.mission/z",908766951)], null),null,null,new cljs.core.PersistentVector(null, 30, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29259){
return cljs.core.map_QMARK_.call(null,G__29259);
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"base-flags","base-flags",-1180150392));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"camp-id","camp-id",618705690));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"f-status","f-status",782756103));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"first-owner","first-owner",911218300));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"fuel","fuel",10405485));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"id","id",-1388402092));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"last-repair","last-repair",1138109175));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"links","links",-654507394));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"losses","losses",-189206407));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"name-id","name-id",-279275372));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"obj-flags","obj-flags",-864355993));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"objective-type","objective-type",1907988670));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"owner","owner",-392611939));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"parent","parent",-878878779));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"priority","priority",1431093715));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"radar-data","radar-data",-2114904134));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"spot-time","spot-time",644875706));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"spotted","spotted",183372374));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"supply","supply",-1701696309));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"x","x",2099068185));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"y","y",-1757859776));
}),(function (G__29259){
return cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"z","z",-789527183));
})], null),(function (G__29259){
return ((cljs.core.map_QMARK_.call(null,G__29259)) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"base-flags","base-flags",-1180150392))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"camp-id","camp-id",618705690))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"f-status","f-status",782756103))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"first-owner","first-owner",911218300))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"fuel","fuel",10405485))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"id","id",-1388402092))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"last-repair","last-repair",1138109175))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"links","links",-654507394))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"losses","losses",-189206407))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"name-id","name-id",-279275372))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"obj-flags","obj-flags",-864355993))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"objective-type","objective-type",1907988670))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"owner","owner",-392611939))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"parent","parent",-878878779))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"priority","priority",1431093715))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"radar-data","radar-data",-2114904134))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"spot-time","spot-time",644875706))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"spotted","spotted",183372374))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"supply","supply",-1701696309))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"x","x",2099068185))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"y","y",-1757859776))) && (cljs.core.contains_QMARK_.call(null,G__29259,new cljs.core.Keyword(null,"z","z",-789527183))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 29, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),new cljs.core.Keyword("weathergen.falcon.files.mission","base-flags","weathergen.falcon.files.mission/base-flags",1559416842),new cljs.core.Keyword("weathergen.falcon.files.mission","camp-id","weathergen.falcon.files.mission/camp-id",413408440),new cljs.core.Keyword("weathergen.falcon.files.mission","entity-type","weathergen.falcon.files.mission/entity-type",-427082019),new cljs.core.Keyword("weathergen.falcon.files.mission","f-status","weathergen.falcon.files.mission/f-status",-1947313271),new cljs.core.Keyword("weathergen.falcon.files.mission","first-owner","weathergen.falcon.files.mission/first-owner",-619274258),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel","weathergen.falcon.files.mission/fuel",760787687),new cljs.core.Keyword("map","id","map/id",-1388423944),new cljs.core.Keyword("weathergen.falcon.files.mission","last-repair","weathergen.falcon.files.mission/last-repair",-1526954899),new cljs.core.Keyword("weathergen.falcon.files.mission","links","weathergen.falcon.files.mission/links",875727916),new cljs.core.Keyword("weathergen.falcon.files.mission","losses","weathergen.falcon.files.mission/losses",-1879114985),new cljs.core.Keyword("weathergen.falcon.files.mission","name-id","weathergen.falcon.files.mission/name-id",-1810014458),new cljs.core.Keyword("weathergen.falcon.files.mission","obj-flags","weathergen.falcon.files.mission/obj-flags",693464809),new cljs.core.Keyword("weathergen.falcon.files.mission","objective-type","weathergen.falcon.files.mission/objective-type",343871032),new cljs.core.Keyword("weathergen.falcon.files.mission","owner","weathergen.falcon.files.mission/owner",1206032935),new cljs.core.Keyword("weathergen.falcon.files.mission","parent","weathergen.falcon.files.mission/parent",544339251),new cljs.core.Keyword("weathergen.falcon.files.mission","priority","weathergen.falcon.files.mission/priority",1887991877),new cljs.core.Keyword("weathergen.falcon.files.mission","radar-data","weathergen.falcon.files.mission/radar-data",1026796848),new cljs.core.Keyword("weathergen.falcon.files.mission","spot-time","weathergen.falcon.files.mission/spot-time",-1289121708),new cljs.core.Keyword("weathergen.falcon.files.mission","spotted","weathergen.falcon.files.mission/spotted",807895248),new cljs.core.Keyword("weathergen.falcon.files.mission","supply","weathergen.falcon.files.mission/supply",-45632963),new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078),new cljs.core.Keyword("weathergen.falcon.files.mission","z","weathergen.falcon.files.mission/z",908766951)], null),new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917)], null),new cljs.core.PersistentVector(null, 29, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),new cljs.core.Keyword(null,"base-flags","base-flags",-1180150392),new cljs.core.Keyword(null,"camp-id","camp-id",618705690),new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125),new cljs.core.Keyword(null,"f-status","f-status",782756103),new cljs.core.Keyword(null,"first-owner","first-owner",911218300),new cljs.core.Keyword(null,"fuel","fuel",10405485),new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"last-repair","last-repair",1138109175),new cljs.core.Keyword(null,"links","links",-654507394),new cljs.core.Keyword(null,"losses","losses",-189206407),new cljs.core.Keyword(null,"name-id","name-id",-279275372),new cljs.core.Keyword(null,"obj-flags","obj-flags",-864355993),new cljs.core.Keyword(null,"objective-type","objective-type",1907988670),new cljs.core.Keyword(null,"owner","owner",-392611939),new cljs.core.Keyword(null,"parent","parent",-878878779),new cljs.core.Keyword(null,"priority","priority",1431093715),new cljs.core.Keyword(null,"radar-data","radar-data",-2114904134),new cljs.core.Keyword(null,"spot-time","spot-time",644875706),new cljs.core.Keyword(null,"spotted","spotted",183372374),new cljs.core.Keyword(null,"supply","supply",-1701696309),new cljs.core.Keyword(null,"x","x",2099068185),new cljs.core.Keyword(null,"y","y",-1757859776),new cljs.core.Keyword(null,"z","z",-789527183)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 30, 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.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694))),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.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210))),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.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122))),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.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975))),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.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110))),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.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917))),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(null,"base-flags","base-flags",-1180150392))),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(null,"camp-id","camp-id",618705690))),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(null,"entity-type","entity-type",-1957300125))),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(null,"f-status","f-status",782756103))),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(null,"first-owner","first-owner",911218300))),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(null,"fuel","fuel",10405485))),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(null,"id","id",-1388402092))),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(null,"last-repair","last-repair",1138109175))),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(null,"links","links",-654507394))),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(null,"losses","losses",-189206407))),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(null,"name-id","name-id",-279275372))),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(null,"obj-flags","obj-flags",-864355993))),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(null,"objective-type","objective-type",1907988670))),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(null,"owner","owner",-392611939))),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(null,"parent","parent",-878878779))),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(null,"priority","priority",1431093715))),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(null,"radar-data","radar-data",-2114904134))),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(null,"spot-time","spot-time",644875706))),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(null,"spotted","spotted",183372374))),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(null,"supply","supply",-1701696309))),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(null,"x","x",2099068185))),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(null,"y","y",-1757859776))),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(null,"z","z",-789527183)))], null),null]))], null),null);
weathergen.falcon.files.mission.AugmentedFeature = 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)],[new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","entity-class","weathergen.falcon.files.mission/entity-class",-208911345),new cljs.core.Keyword("weathergen.falcon.files.mission","facing","weathergen.falcon.files.mission/facing",566993313),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","offset","weathergen.falcon.files.mission/offset",-1108759055),new cljs.core.Keyword("weathergen.falcon.files.mission","value","weathergen.falcon.files.mission/value",-1307089913)], null),null,null,new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29260){
return cljs.core.map_QMARK_.call(null,G__29260);
}),(function (G__29260){
return cljs.core.contains_QMARK_.call(null,G__29260,new cljs.core.Keyword("weathergen.falcon.files.mission","class-info","weathergen.falcon.files.mission/class-info",-1092492204));
}),(function (G__29260){
return cljs.core.contains_QMARK_.call(null,G__29260,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649));
}),(function (G__29260){
return cljs.core.contains_QMARK_.call(null,G__29260,new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917));
}),(function (G__29260){
return cljs.core.contains_QMARK_.call(null,G__29260,new cljs.core.Keyword(null,"entity-class","entity-class",-1906919579));
}),(function (G__29260){
return cljs.core.contains_QMARK_.call(null,G__29260,new cljs.core.Keyword(null,"facing","facing",-854439413));
}),(function (G__29260){
return cljs.core.contains_QMARK_.call(null,G__29260,new cljs.core.Keyword(null,"flags","flags",1775418075));
}),(function (G__29260){
return cljs.core.contains_QMARK_.call(null,G__29260,new cljs.core.Keyword(null,"index","index",-1531685915));
}),(function (G__29260){
return cljs.core.contains_QMARK_.call(null,G__29260,new cljs.core.Keyword(null,"offset","offset",296498311));
}),(function (G__29260){
return cljs.core.contains_QMARK_.call(null,G__29260,new cljs.core.Keyword(null,"value","value",305978217));
})], null),(function (G__29260){
return ((cljs.core.map_QMARK_.call(null,G__29260)) && (cljs.core.contains_QMARK_.call(null,G__29260,new cljs.core.Keyword("weathergen.falcon.files.mission","class-info","weathergen.falcon.files.mission/class-info",-1092492204))) && (cljs.core.contains_QMARK_.call(null,G__29260,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649))) && (cljs.core.contains_QMARK_.call(null,G__29260,new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917))) && (cljs.core.contains_QMARK_.call(null,G__29260,new cljs.core.Keyword(null,"entity-class","entity-class",-1906919579))) && (cljs.core.contains_QMARK_.call(null,G__29260,new cljs.core.Keyword(null,"facing","facing",-854439413))) && (cljs.core.contains_QMARK_.call(null,G__29260,new cljs.core.Keyword(null,"flags","flags",1775418075))) && (cljs.core.contains_QMARK_.call(null,G__29260,new cljs.core.Keyword(null,"index","index",-1531685915))) && (cljs.core.contains_QMARK_.call(null,G__29260,new cljs.core.Keyword(null,"offset","offset",296498311))) && (cljs.core.contains_QMARK_.call(null,G__29260,new cljs.core.Keyword(null,"value","value",305978217))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","class-info","weathergen.falcon.files.mission/class-info",-1092492204),new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),new cljs.core.Keyword("weathergen.falcon.files.mission","entity-class","weathergen.falcon.files.mission/entity-class",-208911345),new cljs.core.Keyword("weathergen.falcon.files.mission","facing","weathergen.falcon.files.mission/facing",566993313),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","offset","weathergen.falcon.files.mission/offset",-1108759055),new cljs.core.Keyword("weathergen.falcon.files.mission","value","weathergen.falcon.files.mission/value",-1307089913)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","class-info","weathergen.falcon.files.mission/class-info",-1092492204),new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917)], null),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","class-info","weathergen.falcon.files.mission/class-info",-1092492204),new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),new cljs.core.Keyword(null,"entity-class","entity-class",-1906919579),new cljs.core.Keyword(null,"facing","facing",-854439413),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.Keyword(null,"index","index",-1531685915),new cljs.core.Keyword(null,"offset","offset",296498311),new cljs.core.Keyword(null,"value","value",305978217)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 10, 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.falcon.files.mission","class-info","weathergen.falcon.files.mission/class-info",-1092492204))),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.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649))),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.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917))),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(null,"entity-class","entity-class",-1906919579))),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(null,"facing","facing",-854439413))),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(null,"flags","flags",1775418075))),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(null,"index","index",-1531685915))),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(null,"offset","offset",296498311))),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(null,"value","value",305978217)))], null),null]));
weathergen.falcon.files.mission.PrePlannedThreat = 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)],[new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("ppt","id","ppt/id",-1388419136),new cljs.core.Keyword("weathergen.falcon.files.mission","radius-ft","weathergen.falcon.files.mission/radius-ft",-870066270),new cljs.core.Keyword("weathergen.falcon.files.mission","description","weathergen.falcon.files.mission/description",-1977659382)], null),null,null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29261){
return cljs.core.map_QMARK_.call(null,G__29261);
}),(function (G__29261){
return cljs.core.contains_QMARK_.call(null,G__29261,new cljs.core.Keyword(null,"id","id",-1388402092));
}),(function (G__29261){
return cljs.core.contains_QMARK_.call(null,G__29261,new cljs.core.Keyword(null,"radius-ft","radius-ft",1860060448));
}),(function (G__29261){
return cljs.core.contains_QMARK_.call(null,G__29261,new cljs.core.Keyword(null,"description","description",-1428560544));
})], null),(function (G__29261){
return ((cljs.core.map_QMARK_.call(null,G__29261)) && (cljs.core.contains_QMARK_.call(null,G__29261,new cljs.core.Keyword(null,"id","id",-1388402092))) && (cljs.core.contains_QMARK_.call(null,G__29261,new cljs.core.Keyword(null,"radius-ft","radius-ft",1860060448))) && (cljs.core.contains_QMARK_.call(null,G__29261,new cljs.core.Keyword(null,"description","description",-1428560544))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("ppt","id","ppt/id",-1388419136),new cljs.core.Keyword("weathergen.falcon.files.mission","radius-ft","weathergen.falcon.files.mission/radius-ft",-870066270),new cljs.core.Keyword("weathergen.falcon.files.mission","description","weathergen.falcon.files.mission/description",-1977659382)], null),null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"radius-ft","radius-ft",1860060448),new cljs.core.Keyword(null,"description","description",-1428560544)], 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(null,"id","id",-1388402092))),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(null,"radius-ft","radius-ft",1860060448))),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(null,"description","description",-1428560544)))], null),null]));
weathergen.falcon.files.mission.ScenarioFiles = 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)],[new cljs.core.PersistentVector(null, 11, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","campaign-info","weathergen.falcon.files.mission/campaign-info",-1580589140),new cljs.core.Keyword("weathergen.falcon.files.mission","persistent-objects","weathergen.falcon.files.mission/persistent-objects",1801379401),new cljs.core.Keyword("weathergen.falcon.files.mission","events","weathergen.falcon.files.mission/events",-945665921),new cljs.core.Keyword("weathergen.falcon.files.mission","teams","weathergen.falcon.files.mission/teams",-1060301368),new cljs.core.Keyword("weathergen.falcon.files.mission","objective-deltas","weathergen.falcon.files.mission/objective-deltas",-955174707),new cljs.core.Keyword("raw","objectives","raw/objectives",934056205),new cljs.core.Keyword("weathergen.falcon.files.mission","victory-conditions","weathergen.falcon.files.mission/victory-conditions",-320186067),new cljs.core.Keyword("weathergen.falcon.files.mission","weather","weathergen.falcon.files.mission/weather",-1294003106),new cljs.core.Keyword("weathergen.falcon.files.mission","units","weathergen.falcon.files.mission/units",-1082709161),new cljs.core.Keyword("weathergen.falcon.files.mission","version","weathergen.falcon.files.mission/version",926320952),new cljs.core.Keyword("weathergen.falcon.files.mission","pilots","weathergen.falcon.files.mission/pilots",835455703)], null),null,null,new cljs.core.PersistentVector(null, 12, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29262){
return cljs.core.map_QMARK_.call(null,G__29262);
}),(function (G__29262){
return cljs.core.contains_QMARK_.call(null,G__29262,new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966));
}),(function (G__29262){
return cljs.core.contains_QMARK_.call(null,G__29262,new cljs.core.Keyword(null,"persistent-objects","persistent-objects",137656263));
}),(function (G__29262){
return cljs.core.contains_QMARK_.call(null,G__29262,new cljs.core.Keyword(null,"events","events",1792552201));
}),(function (G__29262){
return cljs.core.contains_QMARK_.call(null,G__29262,new cljs.core.Keyword(null,"teams","teams",1677714510));
}),(function (G__29262){
return cljs.core.contains_QMARK_.call(null,G__29262,new cljs.core.Keyword(null,"objective-deltas","objective-deltas",710518611));
}),(function (G__29262){
return cljs.core.contains_QMARK_.call(null,G__29262,new cljs.core.Keyword(null,"objectives","objectives",933939509));
}),(function (G__29262){
return cljs.core.contains_QMARK_.call(null,G__29262,new cljs.core.Keyword(null,"victory-conditions","victory-conditions",-1943285833));
}),(function (G__29262){
return cljs.core.contains_QMARK_.call(null,G__29262,new cljs.core.Keyword(null,"weather","weather",1320452344));
}),(function (G__29262){
return cljs.core.contains_QMARK_.call(null,G__29262,new cljs.core.Keyword(null,"units","units",-533089095));
}),(function (G__29262){
return cljs.core.contains_QMARK_.call(null,G__29262,new cljs.core.Keyword(null,"version","version",425292698));
}),(function (G__29262){
return cljs.core.contains_QMARK_.call(null,G__29262,new cljs.core.Keyword(null,"pilots","pilots",353525853));
})], null),(function (G__29262){
return ((cljs.core.map_QMARK_.call(null,G__29262)) && (cljs.core.contains_QMARK_.call(null,G__29262,new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966))) && (cljs.core.contains_QMARK_.call(null,G__29262,new cljs.core.Keyword(null,"persistent-objects","persistent-objects",137656263))) && (cljs.core.contains_QMARK_.call(null,G__29262,new cljs.core.Keyword(null,"events","events",1792552201))) && (cljs.core.contains_QMARK_.call(null,G__29262,new cljs.core.Keyword(null,"teams","teams",1677714510))) && (cljs.core.contains_QMARK_.call(null,G__29262,new cljs.core.Keyword(null,"objective-deltas","objective-deltas",710518611))) && (cljs.core.contains_QMARK_.call(null,G__29262,new cljs.core.Keyword(null,"objectives","objectives",933939509))) && (cljs.core.contains_QMARK_.call(null,G__29262,new cljs.core.Keyword(null,"victory-conditions","victory-conditions",-1943285833))) && (cljs.core.contains_QMARK_.call(null,G__29262,new cljs.core.Keyword(null,"weather","weather",1320452344))) && (cljs.core.contains_QMARK_.call(null,G__29262,new cljs.core.Keyword(null,"units","units",-533089095))) && (cljs.core.contains_QMARK_.call(null,G__29262,new cljs.core.Keyword(null,"version","version",425292698))) && (cljs.core.contains_QMARK_.call(null,G__29262,new cljs.core.Keyword(null,"pilots","pilots",353525853))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 11, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","campaign-info","weathergen.falcon.files.mission/campaign-info",-1580589140),new cljs.core.Keyword("weathergen.falcon.files.mission","persistent-objects","weathergen.falcon.files.mission/persistent-objects",1801379401),new cljs.core.Keyword("weathergen.falcon.files.mission","events","weathergen.falcon.files.mission/events",-945665921),new cljs.core.Keyword("weathergen.falcon.files.mission","teams","weathergen.falcon.files.mission/teams",-1060301368),new cljs.core.Keyword("weathergen.falcon.files.mission","objective-deltas","weathergen.falcon.files.mission/objective-deltas",-955174707),new cljs.core.Keyword("raw","objectives","raw/objectives",934056205),new cljs.core.Keyword("weathergen.falcon.files.mission","victory-conditions","weathergen.falcon.files.mission/victory-conditions",-320186067),new cljs.core.Keyword("weathergen.falcon.files.mission","weather","weathergen.falcon.files.mission/weather",-1294003106),new cljs.core.Keyword("weathergen.falcon.files.mission","units","weathergen.falcon.files.mission/units",-1082709161),new cljs.core.Keyword("weathergen.falcon.files.mission","version","weathergen.falcon.files.mission/version",926320952),new cljs.core.Keyword("weathergen.falcon.files.mission","pilots","weathergen.falcon.files.mission/pilots",835455703)], null),null,new cljs.core.PersistentVector(null, 11, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966),new cljs.core.Keyword(null,"persistent-objects","persistent-objects",137656263),new cljs.core.Keyword(null,"events","events",1792552201),new cljs.core.Keyword(null,"teams","teams",1677714510),new cljs.core.Keyword(null,"objective-deltas","objective-deltas",710518611),new cljs.core.Keyword(null,"objectives","objectives",933939509),new cljs.core.Keyword(null,"victory-conditions","victory-conditions",-1943285833),new cljs.core.Keyword(null,"weather","weather",1320452344),new cljs.core.Keyword(null,"units","units",-533089095),new cljs.core.Keyword(null,"version","version",425292698),new cljs.core.Keyword(null,"pilots","pilots",353525853)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 12, 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(null,"campaign-info","campaign-info",1158908966))),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(null,"persistent-objects","persistent-objects",137656263))),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(null,"events","events",1792552201))),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(null,"teams","teams",1677714510))),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(null,"objective-deltas","objective-deltas",710518611))),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(null,"objectives","objectives",933939509))),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(null,"victory-conditions","victory-conditions",-1943285833))),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(null,"weather","weather",1320452344))),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(null,"units","units",-533089095))),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(null,"version","version",425292698))),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(null,"pilots","pilots",353525853)))], null),null]));
weathergen.falcon.files.mission.Mission = 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)],[new cljs.core.PersistentVector(null, 31, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","campaign-info","weathergen.falcon.files.mission/campaign-info",-1580589140),new cljs.core.Keyword("weathergen.falcon.files.mission","candidate-installs","weathergen.falcon.files.mission/candidate-installs",1684264007),new cljs.core.Keyword("weathergen.falcon.files.mission","class-table","weathergen.falcon.files.mission/class-table",-1856555830),new cljs.core.Keyword("weathergen.falcon.files.mission","events","weathergen.falcon.files.mission/events",-945665921),new cljs.core.Keyword("weathergen.falcon.files.mission","feature-class-data","weathergen.falcon.files.mission/feature-class-data",794598458),new cljs.core.Keyword("weathergen.falcon.files.mission","feature-entry-data","weathergen.falcon.files.mission/feature-entry-data",-693978767),new cljs.core.Keyword("weathergen.falcon.files.mission","image-ids","weathergen.falcon.files.mission/image-ids",2141950065),new cljs.core.Keyword("weathergen.falcon.files.mission","installation","weathergen.falcon.files.mission/installation",-656616400),new cljs.core.Keyword("weathergen.falcon.files.mission","installs","weathergen.falcon.files.mission/installs",-318791777),new cljs.core.Keyword("weathergen.falcon.files.mission","map-image","weathergen.falcon.files.mission/map-image",-1703634500),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-name","weathergen.falcon.files.mission/mission-name",-1286039680),new cljs.core.Keyword("weathergen.falcon.files.mission","names","weathergen.falcon.files.mission/names",658607436),new cljs.core.Keyword("weathergen.falcon.files.mission","objective-class-data","weathergen.falcon.files.mission/objective-class-data",-488267802),new cljs.core.Keyword("weathergen.falcon.files.mission","objective-deltas","weathergen.falcon.files.mission/objective-deltas",-955174707),new cljs.core.Keyword("raw","objectives","raw/objectives",934056205),new cljs.core.Keyword("weathergen.falcon.files.mission","path","weathergen.falcon.files.mission/path",-771299386),new cljs.core.Keyword("weathergen.falcon.files.mission","persistent-objects","weathergen.falcon.files.mission/persistent-objects",1801379401),new cljs.core.Keyword("weathergen.falcon.files.mission","pilots","weathergen.falcon.files.mission/pilots",835455703),new cljs.core.Keyword("weathergen.falcon.files.mission","point-header-data","weathergen.falcon.files.mission/point-header-data",-561631475),new cljs.core.Keyword("weathergen.falcon.files.mission","ppt-data","weathergen.falcon.files.mission/ppt-data",58417629),new cljs.core.Keyword("weathergen.falcon.files.mission","primary-objectives","weathergen.falcon.files.mission/primary-objectives",725299083),new cljs.core.Keyword("weathergen.falcon.files.mission","scenario-files","weathergen.falcon.files.mission/scenario-files",-132892628),new cljs.core.Keyword("weathergen.falcon.files.mission","strings","weathergen.falcon.files.mission/strings",-524118625),new cljs.core.Keyword("weathergen.falcon.files.mission","teams","weathergen.falcon.files.mission/teams",-1060301368),new cljs.core.Keyword("weathergen.falcon.files.mission","theater","weathergen.falcon.files.mission/theater",892682177),new cljs.core.Keyword("weathergen.falcon.files.mission","unit-class-data","weathergen.falcon.files.mission/unit-class-data",-341212057),new cljs.core.Keyword("weathergen.falcon.files.mission","units","weathergen.falcon.files.mission/units",-1082709161),new cljs.core.Keyword("weathergen.falcon.files.mission","user-ids","weathergen.falcon.files.mission/user-ids",2086909600),new cljs.core.Keyword("weathergen.falcon.files.mission","vehicle-class-data","weathergen.falcon.files.mission/vehicle-class-data",-131845879),new cljs.core.Keyword("weathergen.falcon.files.mission","version","weathergen.falcon.files.mission/version",926320952),new cljs.core.Keyword("weathergen.falcon.files.mission","weapon-class-data","weathergen.falcon.files.mission/weapon-class-data",-1245893783)], null),null,null,cljs.core.PersistentVector.fromArray([(function (G__29263){
return cljs.core.map_QMARK_.call(null,G__29263);
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword("weathergen.falcon.files.mission","airbases","weathergen.falcon.files.mission/airbases",-216602213));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword("weathergen.falcon.files.mission","army-bases","weathergen.falcon.files.mission/army-bases",-1064227486));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword("weathergen.falcon.files.mission","carriers","weathergen.falcon.files.mission/carriers",1286085937));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword("weathergen.falcon.files.mission","flights","weathergen.falcon.files.mission/flights",-1943609790));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword("weathergen.falcon.files.mission","objectives","weathergen.falcon.files.mission/objectives",410009507));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword("weathergen.falcon.files.mission","weapons","weathergen.falcon.files.mission/weapons",-176268464));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"candidate-installs","candidate-installs",1512655313));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"class-table","class-table",207400992));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"events","events",1792552201));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"feature-class-data","feature-class-data",-794349644));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"feature-entry-data","feature-entry-data",-87481893));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"image-ids","image-ids",-529925649));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"installation","installation",943147954));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"installs","installs",-915592927));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"map-image","map-image",-5560498));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"mission-name","mission-name",1479736582));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"names","names",-1943074658));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"objective-class-data","objective-class-data",-2036255156));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"objective-deltas","objective-deltas",710518611));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"objectives","objectives",933939509));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"path","path",-188191168));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"persistent-objects","persistent-objects",137656263));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"pilots","pilots",353525853));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"point-header-data","point-header-data",2108405911));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"ppt-data","ppt-data",-1749164693));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"primary-objectives","primary-objectives",-2010039039));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"scenario-files","scenario-files",-1697993090));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"strings","strings",-2055406807));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"teams","teams",1677714510));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"theater","theater",258922071));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"unit-class-data","unit-class-data",2122324209));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"units","units",-533089095));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"user-ids","user-ids",-652076250));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"vehicle-class-data","vehicle-class-data",1666024339));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"version","version",425292698));
}),(function (G__29263){
return cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"weapon-class-data","weapon-class-data",-1828241433));
})], true),(function (G__29263){
return ((cljs.core.map_QMARK_.call(null,G__29263)) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword("weathergen.falcon.files.mission","airbases","weathergen.falcon.files.mission/airbases",-216602213))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword("weathergen.falcon.files.mission","army-bases","weathergen.falcon.files.mission/army-bases",-1064227486))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword("weathergen.falcon.files.mission","carriers","weathergen.falcon.files.mission/carriers",1286085937))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword("weathergen.falcon.files.mission","flights","weathergen.falcon.files.mission/flights",-1943609790))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword("weathergen.falcon.files.mission","objectives","weathergen.falcon.files.mission/objectives",410009507))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword("weathergen.falcon.files.mission","weapons","weathergen.falcon.files.mission/weapons",-176268464))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"candidate-installs","candidate-installs",1512655313))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"class-table","class-table",207400992))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"events","events",1792552201))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"feature-class-data","feature-class-data",-794349644))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"feature-entry-data","feature-entry-data",-87481893))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"image-ids","image-ids",-529925649))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"installation","installation",943147954))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"installs","installs",-915592927))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"map-image","map-image",-5560498))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"mission-name","mission-name",1479736582))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"names","names",-1943074658))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"objective-class-data","objective-class-data",-2036255156))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"objective-deltas","objective-deltas",710518611))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"objectives","objectives",933939509))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"path","path",-188191168))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"persistent-objects","persistent-objects",137656263))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"pilots","pilots",353525853))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"point-header-data","point-header-data",2108405911))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"ppt-data","ppt-data",-1749164693))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"primary-objectives","primary-objectives",-2010039039))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"scenario-files","scenario-files",-1697993090))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"strings","strings",-2055406807))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"teams","teams",1677714510))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"theater","theater",258922071))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"unit-class-data","unit-class-data",2122324209))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"units","units",-533089095))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"user-ids","user-ids",-652076250))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"vehicle-class-data","vehicle-class-data",1666024339))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"version","version",425292698))) && (cljs.core.contains_QMARK_.call(null,G__29263,new cljs.core.Keyword(null,"weapon-class-data","weapon-class-data",-1828241433))));
}),cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.fromArray([new cljs.core.Keyword("weathergen.falcon.files.mission","airbases","weathergen.falcon.files.mission/airbases",-216602213),new cljs.core.Keyword("weathergen.falcon.files.mission","army-bases","weathergen.falcon.files.mission/army-bases",-1064227486),new cljs.core.Keyword("weathergen.falcon.files.mission","carriers","weathergen.falcon.files.mission/carriers",1286085937),new cljs.core.Keyword("weathergen.falcon.files.mission","flights","weathergen.falcon.files.mission/flights",-1943609790),new cljs.core.Keyword("weathergen.falcon.files.mission","objectives","weathergen.falcon.files.mission/objectives",410009507),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),new cljs.core.Keyword("weathergen.falcon.files.mission","weapons","weathergen.falcon.files.mission/weapons",-176268464),new cljs.core.Keyword("weathergen.falcon.files.mission","campaign-info","weathergen.falcon.files.mission/campaign-info",-1580589140),new cljs.core.Keyword("weathergen.falcon.files.mission","candidate-installs","weathergen.falcon.files.mission/candidate-installs",1684264007),new cljs.core.Keyword("weathergen.falcon.files.mission","class-table","weathergen.falcon.files.mission/class-table",-1856555830),new cljs.core.Keyword("weathergen.falcon.files.mission","events","weathergen.falcon.files.mission/events",-945665921),new cljs.core.Keyword("weathergen.falcon.files.mission","feature-class-data","weathergen.falcon.files.mission/feature-class-data",794598458),new cljs.core.Keyword("weathergen.falcon.files.mission","feature-entry-data","weathergen.falcon.files.mission/feature-entry-data",-693978767),new cljs.core.Keyword("weathergen.falcon.files.mission","image-ids","weathergen.falcon.files.mission/image-ids",2141950065),new cljs.core.Keyword("weathergen.falcon.files.mission","installation","weathergen.falcon.files.mission/installation",-656616400),new cljs.core.Keyword("weathergen.falcon.files.mission","installs","weathergen.falcon.files.mission/installs",-318791777),new cljs.core.Keyword("weathergen.falcon.files.mission","map-image","weathergen.falcon.files.mission/map-image",-1703634500),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-name","weathergen.falcon.files.mission/mission-name",-1286039680),new cljs.core.Keyword("weathergen.falcon.files.mission","names","weathergen.falcon.files.mission/names",658607436),new cljs.core.Keyword("weathergen.falcon.files.mission","objective-class-data","weathergen.falcon.files.mission/objective-class-data",-488267802),new cljs.core.Keyword("weathergen.falcon.files.mission","objective-deltas","weathergen.falcon.files.mission/objective-deltas",-955174707),new cljs.core.Keyword("raw","objectives","raw/objectives",934056205),new cljs.core.Keyword("weathergen.falcon.files.mission","path","weathergen.falcon.files.mission/path",-771299386),new cljs.core.Keyword("weathergen.falcon.files.mission","persistent-objects","weathergen.falcon.files.mission/persistent-objects",1801379401),new cljs.core.Keyword("weathergen.falcon.files.mission","pilots","weathergen.falcon.files.mission/pilots",835455703),new cljs.core.Keyword("weathergen.falcon.files.mission","point-header-data","weathergen.falcon.files.mission/point-header-data",-561631475),new cljs.core.Keyword("weathergen.falcon.files.mission","ppt-data","weathergen.falcon.files.mission/ppt-data",58417629),new cljs.core.Keyword("weathergen.falcon.files.mission","primary-objectives","weathergen.falcon.files.mission/primary-objectives",725299083),new cljs.core.Keyword("weathergen.falcon.files.mission","scenario-files","weathergen.falcon.files.mission/scenario-files",-132892628),new cljs.core.Keyword("weathergen.falcon.files.mission","strings","weathergen.falcon.files.mission/strings",-524118625),new cljs.core.Keyword("weathergen.falcon.files.mission","teams","weathergen.falcon.files.mission/teams",-1060301368),new cljs.core.Keyword("weathergen.falcon.files.mission","theater","weathergen.falcon.files.mission/theater",892682177),new cljs.core.Keyword("weathergen.falcon.files.mission","unit-class-data","weathergen.falcon.files.mission/unit-class-data",-341212057),new cljs.core.Keyword("weathergen.falcon.files.mission","units","weathergen.falcon.files.mission/units",-1082709161),new cljs.core.Keyword("weathergen.falcon.files.mission","user-ids","weathergen.falcon.files.mission/user-ids",2086909600),new cljs.core.Keyword("weathergen.falcon.files.mission","vehicle-class-data","weathergen.falcon.files.mission/vehicle-class-data",-131845879),new cljs.core.Keyword("weathergen.falcon.files.mission","version","weathergen.falcon.files.mission/version",926320952),new cljs.core.Keyword("weathergen.falcon.files.mission","weapon-class-data","weathergen.falcon.files.mission/weapon-class-data",-1245893783)], true),new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","airbases","weathergen.falcon.files.mission/airbases",-216602213),new cljs.core.Keyword("weathergen.falcon.files.mission","army-bases","weathergen.falcon.files.mission/army-bases",-1064227486),new cljs.core.Keyword("weathergen.falcon.files.mission","carriers","weathergen.falcon.files.mission/carriers",1286085937),new cljs.core.Keyword("weathergen.falcon.files.mission","flights","weathergen.falcon.files.mission/flights",-1943609790),new cljs.core.Keyword("weathergen.falcon.files.mission","objectives","weathergen.falcon.files.mission/objectives",410009507),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),new cljs.core.Keyword("weathergen.falcon.files.mission","weapons","weathergen.falcon.files.mission/weapons",-176268464)], null),cljs.core.PersistentVector.fromArray([new cljs.core.Keyword("weathergen.falcon.files.mission","airbases","weathergen.falcon.files.mission/airbases",-216602213),new cljs.core.Keyword("weathergen.falcon.files.mission","army-bases","weathergen.falcon.files.mission/army-bases",-1064227486),new cljs.core.Keyword("weathergen.falcon.files.mission","carriers","weathergen.falcon.files.mission/carriers",1286085937),new cljs.core.Keyword("weathergen.falcon.files.mission","flights","weathergen.falcon.files.mission/flights",-1943609790),new cljs.core.Keyword("weathergen.falcon.files.mission","objectives","weathergen.falcon.files.mission/objectives",410009507),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),new cljs.core.Keyword("weathergen.falcon.files.mission","weapons","weathergen.falcon.files.mission/weapons",-176268464),new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966),new cljs.core.Keyword(null,"candidate-installs","candidate-installs",1512655313),new cljs.core.Keyword(null,"class-table","class-table",207400992),new cljs.core.Keyword(null,"events","events",1792552201),new cljs.core.Keyword(null,"feature-class-data","feature-class-data",-794349644),new cljs.core.Keyword(null,"feature-entry-data","feature-entry-data",-87481893),new cljs.core.Keyword(null,"image-ids","image-ids",-529925649),new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Keyword(null,"installs","installs",-915592927),new cljs.core.Keyword(null,"map-image","map-image",-5560498),new cljs.core.Keyword(null,"mission-name","mission-name",1479736582),new cljs.core.Keyword(null,"names","names",-1943074658),new cljs.core.Keyword(null,"objective-class-data","objective-class-data",-2036255156),new cljs.core.Keyword(null,"objective-deltas","objective-deltas",710518611),new cljs.core.Keyword(null,"objectives","objectives",933939509),new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.Keyword(null,"persistent-objects","persistent-objects",137656263),new cljs.core.Keyword(null,"pilots","pilots",353525853),new cljs.core.Keyword(null,"point-header-data","point-header-data",2108405911),new cljs.core.Keyword(null,"ppt-data","ppt-data",-1749164693),new cljs.core.Keyword(null,"primary-objectives","primary-objectives",-2010039039),new cljs.core.Keyword(null,"scenario-files","scenario-files",-1697993090),new cljs.core.Keyword(null,"strings","strings",-2055406807),new cljs.core.Keyword(null,"teams","teams",1677714510),new cljs.core.Keyword(null,"theater","theater",258922071),new cljs.core.Keyword(null,"unit-class-data","unit-class-data",2122324209),new cljs.core.Keyword(null,"units","units",-533089095),new cljs.core.Keyword(null,"user-ids","user-ids",-652076250),new cljs.core.Keyword(null,"vehicle-class-data","vehicle-class-data",1666024339),new cljs.core.Keyword(null,"version","version",425292698),new cljs.core.Keyword(null,"weapon-class-data","weapon-class-data",-1828241433)], true),cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.fromArray([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.falcon.files.mission","airbases","weathergen.falcon.files.mission/airbases",-216602213))),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.falcon.files.mission","army-bases","weathergen.falcon.files.mission/army-bases",-1064227486))),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.falcon.files.mission","carriers","weathergen.falcon.files.mission/carriers",1286085937))),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.falcon.files.mission","flights","weathergen.falcon.files.mission/flights",-1943609790))),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.falcon.files.mission","objectives","weathergen.falcon.files.mission/objectives",410009507))),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.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110))),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.falcon.files.mission","weapons","weathergen.falcon.files.mission/weapons",-176268464))),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(null,"campaign-info","campaign-info",1158908966))),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(null,"candidate-installs","candidate-installs",1512655313))),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(null,"class-table","class-table",207400992))),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(null,"events","events",1792552201))),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(null,"feature-class-data","feature-class-data",-794349644))),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(null,"feature-entry-data","feature-entry-data",-87481893))),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(null,"image-ids","image-ids",-529925649))),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(null,"installation","installation",943147954))),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(null,"installs","installs",-915592927))),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(null,"map-image","map-image",-5560498))),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(null,"mission-name","mission-name",1479736582))),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(null,"names","names",-1943074658))),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(null,"objective-class-data","objective-class-data",-2036255156))),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(null,"objective-deltas","objective-deltas",710518611))),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(null,"objectives","objectives",933939509))),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(null,"path","path",-188191168))),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(null,"persistent-objects","persistent-objects",137656263))),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(null,"pilots","pilots",353525853))),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(null,"point-header-data","point-header-data",2108405911))),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(null,"ppt-data","ppt-data",-1749164693))),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(null,"primary-objectives","primary-objectives",-2010039039))),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(null,"scenario-files","scenario-files",-1697993090))),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(null,"strings","strings",-2055406807))),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(null,"teams","teams",1677714510))),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(null,"theater","theater",258922071))),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(null,"unit-class-data","unit-class-data",2122324209))),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(null,"units","units",-533089095))),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(null,"user-ids","user-ids",-652076250))),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(null,"vehicle-class-data","vehicle-class-data",1666024339))),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(null,"version","version",425292698))),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(null,"weapon-class-data","weapon-class-data",-1828241433)))], true),null]));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","3d-data-dir","weathergen.falcon.files.mission/3d-data-dir",429028580),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),weathergen.falcon.files.mission.Dir);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","aobj","weathergen.falcon.files.mission/aobj",1970877845),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","action","weathergen.falcon.files.mission/action",811270626),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","action-type","weathergen.falcon.files.mission/action-type",523180133),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","active-team","weathergen.falcon.files.mission/active-team",1728013424),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","airbase","weathergen.falcon.files.mission/airbase",-1926407441),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)], 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)],[new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)], null),null,null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29264){
return cljs.core.map_QMARK_.call(null,G__29264);
}),(function (G__29264){
return cljs.core.contains_QMARK_.call(null,G__29264,new cljs.core.Keyword(null,"name","name",1843675177));
})], null),(function (G__29264){
return ((cljs.core.map_QMARK_.call(null,G__29264)) && (cljs.core.contains_QMARK_.call(null,G__29264,new cljs.core.Keyword(null,"name","name",1843675177))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)], null),null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"name","name",1843675177)], 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(null,"name","name",1843675177)))], null),null])));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("atm","airbases","atm/airbases",-1847920213),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","AtmAirbase","weathergen.falcon.files.mission/AtmAirbase",673437630,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"AtmAirbase","AtmAirbase",-949597628,null),weathergen.falcon.files.mission.AtmAirbase,new cljs.core.PersistentArrayMap(null, 4, [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__29265){
return cljs.core.coll_QMARK_.call(null,G__29265);
}),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.falcon.files.mission","AtmAirbase","weathergen.falcon.files.mission/AtmAirbase",673437630,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("team-status","airbases","team-status/airbases",-1222024125),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","airbases","weathergen.falcon.files.mission/airbases",-216602213),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Airbase","weathergen.falcon.files.mission/Airbase",-61491421,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"Airbase","Airbase",-1851249227,null),weathergen.falcon.files.mission.Airbase,new cljs.core.PersistentArrayMap(null, 4, [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__29266){
return cljs.core.coll_QMARK_.call(null,G__29266);
}),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.falcon.files.mission","Airbase","weathergen.falcon.files.mission/Airbase",-61491421,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","airbase-icon","weathergen.falcon.files.mission/airbase-icon",1415673734),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","airbase-name","weathergen.falcon.files.mission/airbase-name",-2098077019),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.falcon.files.mission","air-defense-experience","weathergen.falcon.files.mission/air-defense-experience",-1228097350),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","air-defense-ratio","weathergen.falcon.files.mission/air-defense-ratio",-305792757),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","air-defence-vehicles","weathergen.falcon.files.mission/air-defence-vehicles",-605031380),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","air-experience","weathergen.falcon.files.mission/air-experience",345384539),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","air-ratio","weathergen.falcon.files.mission/air-ratio",-803395640),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258),new cljs.core.Symbol("weathergen.falcon.files.mission","Aircraft","weathergen.falcon.files.mission/Aircraft",432298506,null),weathergen.falcon.files.mission.Aircraft);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("team-status","aircraft","team-status/aircraft",1766946818),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","airframe","weathergen.falcon.files.mission/airframe",201933592),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.falcon.files.mission","angle","weathergen.falcon.files.mission/angle",-1008427980),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.falcon.files.mission","arrive","weathergen.falcon.files.mission/arrive",1398022348),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","army-bases","weathergen.falcon.files.mission/army-bases",-1064227486),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","ArmyBase","weathergen.falcon.files.mission/ArmyBase",1192530680,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"ArmyBase","ArmyBase",-462874270,null),weathergen.falcon.files.mission.ArmyBase,new cljs.core.PersistentArrayMap(null, 4, [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__29267){
return cljs.core.coll_QMARK_.call(null,G__29267);
}),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.falcon.files.mission","ArmyBase","weathergen.falcon.files.mission/ArmyBase",1192530680,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","art-dir","weathergen.falcon.files.mission/art-dir",-1496408552),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),weathergen.falcon.files.mission.Dir);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","average-ca-missions","weathergen.falcon.files.mission/average-ca-missions",1997160792),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","average-ca-strength","weathergen.falcon.files.mission/average-ca-strength",467672813),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","base","weathergen.falcon.files.mission/base",525716432),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null),weathergen.falcon.files.mission.Path);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","base-flags","weathergen.falcon.files.mission/base-flags",1559416842),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","bitmap","weathergen.falcon.files.mission/bitmap",-1726823552),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null),weathergen.falcon.files.mission.Path);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","blast-radius","weathergen.falcon.files.mission/blast-radius",-893643496),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","bonus-objs","weathergen.falcon.files.mission/bonus-objs",-1995519651),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),new cljs.core.Keyword(null,"count","count",2139924085),(20)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"VuId","VuId",-684085580,null),weathergen.falcon.files.mission.VuId,new cljs.core.PersistentArrayMap(null, 5, [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__29268){
return ((cljs.core.coll_QMARK_.call(null,G__29268)) && (cljs.core._EQ_.call(null,(20),cljs.core.bounded_count.call(null,(20),G__29268))));
}),new cljs.core.Keyword(null,"count","count",2139924085),(20),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.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),new cljs.core.Keyword(null,"count","count",2139924085),(20))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","bonus-time","weathergen.falcon.files.mission/bonus-time",-1522245018),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(20)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29269){
return ((cljs.core.coll_QMARK_.call(null,G__29269)) && (cljs.core._EQ_.call(null,(20),cljs.core.bounded_count.call(null,(20),G__29269))));
}),new cljs.core.Keyword(null,"count","count",2139924085),(20),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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(20))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","brief","weathergen.falcon.files.mission/brief",1702812237),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","bullseye-name","weathergen.falcon.files.mission/bullseye-name",520699048),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","bullseye-x","weathergen.falcon.files.mission/bullseye-x",-159100150),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","bullseye-y","weathergen.falcon.files.mission/bullseye-y",-776890980),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","c-team","weathergen.falcon.files.mission/c-team",-607188711),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","callsign-id","weathergen.falcon.files.mission/callsign-id",-1180066971),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","callsign-index","weathergen.falcon.files.mission/callsign-index",-162215987),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","callsign-num","weathergen.falcon.files.mission/callsign-num",-105981196),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","callsign-slots","weathergen.falcon.files.mission/callsign-slots",1249857048),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","camp-id","weathergen.falcon.files.mission/camp-id",413408440),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","campaign-info","weathergen.falcon.files.mission/campaign-info",-1580589140),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignInfo","weathergen.falcon.files.mission/CampaignInfo",1239222116,null),weathergen.falcon.files.mission.CampaignInfo);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","campaign-dir","weathergen.falcon.files.mission/campaign-dir",-1861677221),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),weathergen.falcon.files.mission.Dir);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","candidate-installs","weathergen.falcon.files.mission/candidate-installs",1684264007),new cljs.core.Symbol("weathergen.falcon.files.mission","Installs","weathergen.falcon.files.mission/Installs",194555236,null),weathergen.falcon.files.mission.Installs);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","caps","weathergen.falcon.files.mission/caps",1774556458),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","cargo-id","weathergen.falcon.files.mission/cargo-id",331149980),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","carriers","weathergen.falcon.files.mission/carriers",1286085937),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Carrier","weathergen.falcon.files.mission/Carrier",-1000617545,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"Carrier","Carrier",2039825421,null),weathergen.falcon.files.mission.Carrier,new cljs.core.PersistentArrayMap(null, 4, [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__29270){
return cljs.core.coll_QMARK_.call(null,G__29270);
}),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.falcon.files.mission","Carrier","weathergen.falcon.files.mission/Carrier",-1000617545,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","center","weathergen.falcon.files.mission/center",1209696646),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(2)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29271){
return ((cljs.core.coll_QMARK_.call(null,G__29271)) && (cljs.core._EQ_.call(null,(2),cljs.core.bounded_count.call(null,(2),G__29271))));
}),new cljs.core.Keyword(null,"count","count",2139924085),(2),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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(2))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","class","weathergen.falcon.files.mission/class",-1549237210),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","class-table","weathergen.falcon.files.mission/class-table",-1856555830),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","merge","cljs.spec.alpha/merge",1420080689,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Falcon4EntityFields","weathergen.falcon.files.mission/Falcon4EntityFields",-339733495,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.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649)], null)))),cljs.spec.alpha.every_impl.call(null,cljs.core.list(new cljs.core.Symbol("s","merge","s/merge",-163787995,null),new cljs.core.Symbol(null,"Falcon4EntityFields","Falcon4EntityFields",255502707,null),cljs.core.list(new cljs.core.Symbol("s","keys","s/keys",-1586011188,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.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649)], null))),cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","Falcon4EntityFields","weathergen.falcon.files.mission/Falcon4EntityFields",-339733495,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.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649)], null))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.Falcon4EntityFields,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__29273){
return cljs.core.map_QMARK_.call(null,G__29273);
}),(function (G__29273){
return cljs.core.contains_QMARK_.call(null,G__29273,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649));
})], null),(function (G__29273){
return ((cljs.core.map_QMARK_.call(null,G__29273)) && (cljs.core.contains_QMARK_.call(null,G__29273,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649)], 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.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649)))], null),null]))], null),null),new cljs.core.PersistentArrayMap(null, 4, [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__29272){
return cljs.core.coll_QMARK_.call(null,G__29272);
}),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","merge","cljs.spec.alpha/merge",1420080689,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Falcon4EntityFields","weathergen.falcon.files.mission/Falcon4EntityFields",-339733495,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.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649)], null))))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","class-info","weathergen.falcon.files.mission/class-info",-1092492204),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Symbol("weathergen.falcon.files.mission","ClassInfo","weathergen.falcon.files.mission/ClassInfo",-748594438,null),new cljs.core.Keyword(null,"class-info-2","class-info-2",1738545496),new cljs.core.Symbol("weathergen.falcon.files.mission","ClassInfo2","weathergen.falcon.files.mission/ClassInfo2",-1814499637,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,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"class-info-2","class-info-2",1738545496)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","ClassInfo","weathergen.falcon.files.mission/ClassInfo",-748594438,null),new cljs.core.Symbol("weathergen.falcon.files.mission","ClassInfo2","weathergen.falcon.files.mission/ClassInfo2",-1814499637,null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.ClassInfo,weathergen.falcon.files.mission.ClassInfo2], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","collective","weathergen.falcon.files.mission/collective",917301039),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","collidable","weathergen.falcon.files.mission/collidable",-1450401728),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","collision-radius","weathergen.falcon.files.mission/collision-radius",-674585753),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.falcon.files.mission","collision-type","weathergen.falcon.files.mission/collision-type",-1095412380),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","color","weathergen.falcon.files.mission/color",-1861591637),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","context","weathergen.falcon.files.mission/context",-247799687),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","cos-heading","weathergen.falcon.files.mission/cos-heading",2120170350),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.falcon.files.mission","costs","weathergen.falcon.files.mission/costs",436179539),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","MOVEMENT_TYPES","weathergen.falcon.constants/MOVEMENT_TYPES",-765232959,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29274){
return ((cljs.core.coll_QMARK_.call(null,G__29274)) && (cljs.core._EQ_.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,cljs.core.bounded_count.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,G__29274))));
}),new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.MOVEMENT_TYPES,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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","MOVEMENT_TYPES","c/MOVEMENT_TYPES",642974624,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","count","weathergen.falcon.files.mission/count",581373935),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("loadout","count","loadout/count",-1411670515),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(16)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29275){
return ((cljs.core.coll_QMARK_.call(null,G__29275)) && (cljs.core._EQ_.call(null,(16),cljs.core.bounded_count.call(null,(16),G__29275))));
}),new cljs.core.Keyword(null,"count","count",2139924085),(16),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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(16))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","country","weathergen.falcon.files.mission/country",-2015827389),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","create-priority","weathergen.falcon.files.mission/create-priority",1232517319),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","creation-rand","weathergen.falcon.files.mission/creation-rand",1794482436),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","creation-time","weathergen.falcon.files.mission/creation-time",-363578009),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","creator","weathergen.falcon.files.mission/creator",1711456010),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","creator-ip","weathergen.falcon.files.mission/creator-ip",-132393550),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","cruise-alt","weathergen.falcon.files.mission/cruise-alt",46459899),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","current-day","weathergen.falcon.files.mission/current-day",1760434218),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","current-stats","weathergen.falcon.files.mission/current-stats",1485033391),new cljs.core.Symbol("weathergen.falcon.files.mission","TeamStatus","weathergen.falcon.files.mission/TeamStatus",1447376489,null),weathergen.falcon.files.mission.TeamStatus);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","current-strength","weathergen.falcon.files.mission/current-strength",2072387746),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","current-time","weathergen.falcon.files.mission/current-time",-2093443560),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","current-wp","weathergen.falcon.files.mission/current-wp",1027104379),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","cycle","weathergen.falcon.files.mission/cycle",-1074021098),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","damage-mod","weathergen.falcon.files.mission/damage-mod",1747505998),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"multiple","multiple",1244445549),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),cljs.core.list(new cljs.core.Symbol("cljs.core","inc","cljs.core/inc",-879172610,null),new cljs.core.Symbol("weathergen.falcon.constants","OtherDam","weathergen.falcon.constants/OtherDam",-311631073,null))),new cljs.core.Keyword(null,"singular","singular",1409933445),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,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,"multiple","multiple",1244445549),new cljs.core.Keyword(null,"singular","singular",1409933445)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),cljs.core.list(new cljs.core.Symbol("cljs.core","inc","cljs.core/inc",-879172610,null),new cljs.core.Symbol("weathergen.falcon.constants","OtherDam","weathergen.falcon.constants/OtherDam",-311631073,null))),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29276){
return ((cljs.core.coll_QMARK_.call(null,G__29276)) && (cljs.core._EQ_.call(null,(weathergen.falcon.constants.OtherDam + (1)),cljs.core.bounded_count.call(null,(weathergen.falcon.constants.OtherDam + (1)),G__29276))));
}),new cljs.core.Keyword(null,"count","count",2139924085),(weathergen.falcon.constants.OtherDam + (1)),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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),cljs.core.list(new cljs.core.Symbol(null,"inc","inc",324505433,null),new cljs.core.Symbol("c","OtherDam","c/OtherDam",-1319323104,null)))], null),null),cljs.core.integer_QMARK_], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","damage-speed","weathergen.falcon.files.mission/damage-speed",-292579857),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","damage-type","weathergen.falcon.files.mission/damage-type",-1873891064),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","data","weathergen.falcon.files.mission/data",-1670632779),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","data-dir","weathergen.falcon.files.mission/data-dir",1554526330),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),weathergen.falcon.files.mission.Dir);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","data-pointer","weathergen.falcon.files.mission/data-pointer",-1400092936),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","data-rate","weathergen.falcon.files.mission/data-rate",164102129),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","data-type","weathergen.falcon.files.mission/data-type",-1999856938),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","day","weathergen.falcon.files.mission/day",-1704629128),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","day-zero","weathergen.falcon.files.mission/day-zero",1604882078),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","deag-distance","weathergen.falcon.files.mission/deag-distance",-1162764241),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","defensive-air-action","weathergen.falcon.files.mission/defensive-air-action",1048409095),new cljs.core.Symbol("weathergen.falcon.files.mission","TeamAirAction","weathergen.falcon.files.mission/TeamAirAction",-562482885,null),weathergen.falcon.files.mission.TeamAirAction);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","delayed","weathergen.falcon.files.mission/delayed",-1311866337),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","desc","weathergen.falcon.files.mission/desc",154230),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.falcon.files.mission","depart","weathergen.falcon.files.mission/depart",-1655269341),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","description","weathergen.falcon.files.mission/description",-1977659382),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.falcon.files.mission","description-index","weathergen.falcon.files.mission/description-index",385969124),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","destination-x","weathergen.falcon.files.mission/destination-x",1925234136),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","destination-y","weathergen.falcon.files.mission/destination-y",198655710),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","detect-ratio","weathergen.falcon.files.mission/detect-ratio",-1725303095),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","NUM_RADAR_ARCS","weathergen.falcon.constants/NUM_RADAR_ARCS",1828587075,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"number?","number?",-1747282210,null),cljs.core.number_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29277){
return ((cljs.core.coll_QMARK_.call(null,G__29277)) && (cljs.core._EQ_.call(null,weathergen.falcon.constants.NUM_RADAR_ARCS,cljs.core.bounded_count.call(null,weathergen.falcon.constants.NUM_RADAR_ARCS,G__29277))));
}),new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.NUM_RADAR_ARCS,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("cljs.core","number?","cljs.core/number?",-811857295,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","NUM_RADAR_ARCS","c/NUM_RADAR_ARCS",-1624325854,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","detection","weathergen.falcon.files.mission/detection",83329163),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"multiple","multiple",1244445549),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","MOVEMENT_TYPES","weathergen.falcon.constants/MOVEMENT_TYPES",-765232959,null)),new cljs.core.Keyword(null,"singular","singular",1409933445),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,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,"multiple","multiple",1244445549),new cljs.core.Keyword(null,"singular","singular",1409933445)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","MOVEMENT_TYPES","weathergen.falcon.constants/MOVEMENT_TYPES",-765232959,null)),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29278){
return ((cljs.core.coll_QMARK_.call(null,G__29278)) && (cljs.core._EQ_.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,cljs.core.bounded_count.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,G__29278))));
}),new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.MOVEMENT_TYPES,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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","MOVEMENT_TYPES","c/MOVEMENT_TYPES",642974624,null))], null),null),cljs.core.integer_QMARK_], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","division","weathergen.falcon.files.mission/division",-1166211520),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","domain","weathergen.falcon.files.mission/domain",1214169331),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","doubleres2dmap","weathergen.falcon.files.mission/doubleres2dmap",-1503704738),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.falcon.files.mission","drag-index","weathergen.falcon.files.mission/drag-index",-2005929375),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","element-decal-index","weathergen.falcon.files.mission/element-decal-index",-1707922222),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 4, [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__29279){
return cljs.core.coll_QMARK_.call(null,G__29279);
}),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("cljs.core","integer?","cljs.core/integer?",1710697810,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","element-flags","weathergen.falcon.files.mission/element-flags",682910099),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 4, [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__29280){
return cljs.core.coll_QMARK_.call(null,G__29280);
}),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("cljs.core","integer?","cljs.core/integer?",1710697810,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","element-hull-number","weathergen.falcon.files.mission/element-hull-number",486465615),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 4, [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__29281){
return cljs.core.coll_QMARK_.call(null,G__29281);
}),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("cljs.core","integer?","cljs.core/integer?",1710697810,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","element-name-prefix","weathergen.falcon.files.mission/element-name-prefix",-578565618),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"string?","string?",-1129175764,null),cljs.core.string_QMARK_,new cljs.core.PersistentArrayMap(null, 4, [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__29282){
return cljs.core.coll_QMARK_.call(null,G__29282);
}),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("cljs.core","string?","cljs.core/string?",-2072921719,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","element-name","weathergen.falcon.files.mission/element-name",912312629),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"string?","string?",-1129175764,null),cljs.core.string_QMARK_,new cljs.core.PersistentArrayMap(null, 4, [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__29283){
return cljs.core.coll_QMARK_.call(null,G__29283);
}),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("cljs.core","string?","cljs.core/string?",-2072921719,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","element-text-set-index","weathergen.falcon.files.mission/element-text-set-index",466869480),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 4, [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__29284){
return cljs.core.coll_QMARK_.call(null,G__29284);
}),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("cljs.core","integer?","cljs.core/integer?",1710697810,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","empty-wt","weathergen.falcon.files.mission/empty-wt",-1868767054),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","endgame-result","weathergen.falcon.files.mission/endgame-result",1563920306),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","enemy-ad-exp","weathergen.falcon.files.mission/enemy-ad-exp",-960721768),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","enemy-air-exp","weathergen.falcon.files.mission/enemy-air-exp",-134369757),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","engine-sound","weathergen.falcon.files.mission/engine-sound",-552832544),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","entity-class","weathergen.falcon.files.mission/entity-class",-208911345),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(8)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29285){
return ((cljs.core.coll_QMARK_.call(null,G__29285)) && (cljs.core._EQ_.call(null,(8),cljs.core.bounded_count.call(null,(8),G__29285))));
}),new cljs.core.Keyword(null,"count","count",2139924085),(8),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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(8))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","entity-type","weathergen.falcon.files.mission/entity-type",-427082019),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","equipment","weathergen.falcon.files.mission/equipment",333876145),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","eval-flags","weathergen.falcon.files.mission/eval-flags",1247665702),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","event-text","weathergen.falcon.files.mission/event-text",859621336),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.falcon.files.mission","events","weathergen.falcon.files.mission/events",-945665921),new cljs.core.Symbol("weathergen.falcon.files.mission","Events","weathergen.falcon.files.mission/Events",-1168523853,null),weathergen.falcon.files.mission.Events);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","f-status","weathergen.falcon.files.mission/f-status",-1947313271),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 4, [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__29286){
return cljs.core.coll_QMARK_.call(null,G__29286);
}),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("cljs.core","integer?","cljs.core/integer?",1710697810,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","facing","weathergen.falcon.files.mission/facing",566993313),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("raw","features","raw/features",-1146784184),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"single","single",1551466437),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"multiple","multiple",1244445549),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","MAX_FEAT_DEPEND","weathergen.falcon.constants/MAX_FEAT_DEPEND",860612176,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,"single","single",1551466437),new cljs.core.Keyword(null,"multiple","multiple",1244445549)], 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.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","MAX_FEAT_DEPEND","weathergen.falcon.constants/MAX_FEAT_DEPEND",860612176,null))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.integer_QMARK_,cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29287){
return ((cljs.core.coll_QMARK_.call(null,G__29287)) && (cljs.core._EQ_.call(null,weathergen.falcon.constants.MAX_FEAT_DEPEND,cljs.core.bounded_count.call(null,weathergen.falcon.constants.MAX_FEAT_DEPEND,G__29287))));
}),new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.MAX_FEAT_DEPEND,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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","MAX_FEAT_DEPEND","c/MAX_FEAT_DEPEND",1731968307,null))], null),null)], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","AugmentedFeature","weathergen.falcon.files.mission/AugmentedFeature",1743200257,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"AugmentedFeature","AugmentedFeature",-2110933125,null),weathergen.falcon.files.mission.AugmentedFeature,new cljs.core.PersistentArrayMap(null, 4, [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__29288){
return cljs.core.coll_QMARK_.call(null,G__29288);
}),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.falcon.files.mission","AugmentedFeature","weathergen.falcon.files.mission/AugmentedFeature",1743200257,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","feature-class-data","weathergen.falcon.files.mission/feature-class-data",794598458),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","FeatureClassData","weathergen.falcon.files.mission/FeatureClassData",1447945330,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"FeatureClassData","FeatureClassData",864583404,null),weathergen.falcon.files.mission.FeatureClassData,new cljs.core.PersistentArrayMap(null, 4, [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__29289){
return cljs.core.coll_QMARK_.call(null,G__29289);
}),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.falcon.files.mission","FeatureClassData","weathergen.falcon.files.mission/FeatureClassData",1447945330,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","feature-entry-data","weathergen.falcon.files.mission/feature-entry-data",-693978767),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","FeatureEntryData","weathergen.falcon.files.mission/FeatureEntryData",-2092323955,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"FeatureEntryData","FeatureEntryData",-461172713,null),weathergen.falcon.files.mission.FeatureEntryData,new cljs.core.PersistentArrayMap(null, 4, [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__29290){
return cljs.core.coll_QMARK_.call(null,G__29290);
}),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.falcon.files.mission","FeatureEntryData","weathergen.falcon.files.mission/FeatureEntryData",-2092323955,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","final-block","weathergen.falcon.files.mission/final-block",155898840),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","fine-update-force-range","weathergen.falcon.files.mission/fine-update-force-range",918313040),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.falcon.files.mission","fine-update-multiplier","weathergen.falcon.files.mission/fine-update-multiplier",-1437327534),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.falcon.files.mission","fine-update-range","weathergen.falcon.files.mission/fine-update-range",-409420047),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.falcon.files.mission","fire-rate","weathergen.falcon.files.mission/fire-rate",71993823),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","first","weathergen.falcon.files.mission/first",1012611588),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","first-colonel","weathergen.falcon.files.mission/first-colonel",-623148867),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","first-commander","weathergen.falcon.files.mission/first-commander",223437727),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","first-feature","weathergen.falcon.files.mission/first-feature",-2004178263),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","first-owner","weathergen.falcon.files.mission/first-owner",-619274258),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","first-wingman","weathergen.falcon.files.mission/first-wingman",-1473308326),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","flag","weathergen.falcon.files.mission/flag",-459732893),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"integer","integer",-604721710),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"set","set",304602554),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","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"keyword","keyword",811389747),new cljs.core.Symbol("cljs.core","keyword?","cljs.core/keyword?",713156450,null),new cljs.core.Keyword(null,"integer","integer",-604721710),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)),new cljs.core.Keyword(null,"kind","kind",-717265803),new cljs.core.Symbol("cljs.core","set?","cljs.core/set?",-1176684971,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,"integer","integer",-604721710),new cljs.core.Keyword(null,"set","set",304602554)], 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.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,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),new cljs.core.Symbol("cljs.core","keyword?","cljs.core/keyword?",713156450,null),new cljs.core.Keyword(null,"integer","integer",-604721710),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)),new cljs.core.Keyword(null,"kind","kind",-717265803),new cljs.core.Symbol("cljs.core","set?","cljs.core/set?",-1176684971,null))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.integer_QMARK_,cljs.spec.alpha.every_impl.call(null,cljs.core.list(new cljs.core.Symbol("s","or","s/or",1876282981,null),new cljs.core.Keyword(null,"keyword","keyword",811389747),new cljs.core.Symbol(null,"keyword?","keyword?",1917797069,null),new cljs.core.Keyword(null,"integer","integer",-604721710),new cljs.core.Symbol(null,"integer?","integer?",1303791671,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,"integer","integer",-604721710)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("cljs.core","keyword?","cljs.core/keyword?",713156450,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.keyword_QMARK_,cljs.core.integer_QMARK_], null),null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),new cljs.core.Symbol("cljs.core","set?","cljs.core/set?",-1176684971,null),new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),(function (G__29291){
return cljs.core.set_QMARK_.call(null,G__29291);
}),new cljs.core.Keyword(null,"kind","kind",-717265803),cljs.core.set_QMARK_,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","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"keyword","keyword",811389747),new cljs.core.Symbol("cljs.core","keyword?","cljs.core/keyword?",713156450,null),new cljs.core.Keyword(null,"integer","integer",-604721710),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)),new cljs.core.Keyword(null,"kind","kind",-717265803),new cljs.core.Symbol("cljs.core","set?","cljs.core/set?",-1176684971,null))], null),null)], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","flights","weathergen.falcon.files.mission/flights",-1943609790),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Flight","weathergen.falcon.files.mission/Flight",940451413,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"Flight","Flight",-1488737309,null),weathergen.falcon.files.mission.Flight,new cljs.core.PersistentArrayMap(null, 4, [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__29292){
return cljs.core.coll_QMARK_.call(null,G__29292);
}),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.falcon.files.mission","Flight","weathergen.falcon.files.mission/Flight",940451413,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","formation","weathergen.falcon.files.mission/formation",-1712272813),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","fuel","weathergen.falcon.files.mission/fuel",760787687),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-burnt","weathergen.falcon.files.mission/fuel-burnt",1582543204),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-available","weathergen.falcon.files.mission/fuel-available",1132247619),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-econ","weathergen.falcon.files.mission/fuel-econ",-80464711),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-level","weathergen.falcon.files.mission/fuel-level",1633529202),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-wt","weathergen.falcon.files.mission/fuel-wt",190185840),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","global","weathergen.falcon.files.mission/global",2043304013),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","grid-x","weathergen.falcon.files.mission/grid-x",-804658896),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","grid-y","weathergen.falcon.files.mission/grid-y",-700621092),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","ground-action","weathergen.falcon.files.mission/ground-action",-809387426),new cljs.core.Symbol("weathergen.falcon.files.mission","TeamGroundAction","weathergen.falcon.files.mission/TeamGroundAction",-2003718518,null),weathergen.falcon.files.mission.TeamGroundAction);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","ground-experience","weathergen.falcon.files.mission/ground-experience",-1373226430),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","ground-ratio","weathergen.falcon.files.mission/ground-ratio",744879711),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","ground-tasking-manager","weathergen.falcon.files.mission/ground-tasking-manager",-288460034),new cljs.core.Symbol("weathergen.falcon.files.mission","GroundTaskingManager","weathergen.falcon.files.mission/GroundTaskingManager",-1942610821,null),weathergen.falcon.files.mission.GroundTaskingManager);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","ground-vehicles","weathergen.falcon.files.mission/ground-vehicles",-1652485882),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","group","weathergen.falcon.files.mission/group",-2013516886),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","guidance-flags","weathergen.falcon.files.mission/guidance-flags",-1984721442),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","has-radar-data","weathergen.falcon.files.mission/has-radar-data",90091994),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","haves","weathergen.falcon.files.mission/haves",-1012743932),new cljs.core.Symbol("weathergen.falcon.files.mission","Haves","weathergen.falcon.files.mission/Haves",180874799,null),weathergen.falcon.files.mission.Haves);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","height","weathergen.falcon.files.mission/height",433886072),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","high-alt","weathergen.falcon.files.mission/high-alt",1100656247),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","hit-chance","weathergen.falcon.files.mission/hit-chance",-532962394),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"multiple","multiple",1244445549),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","MOVEMENT_TYPES","weathergen.falcon.constants/MOVEMENT_TYPES",-765232959,null)),new cljs.core.Keyword(null,"singular","singular",1409933445),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,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,"multiple","multiple",1244445549),new cljs.core.Keyword(null,"singular","singular",1409933445)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","MOVEMENT_TYPES","weathergen.falcon.constants/MOVEMENT_TYPES",-765232959,null)),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29293){
return ((cljs.core.coll_QMARK_.call(null,G__29293)) && (cljs.core._EQ_.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,cljs.core.bounded_count.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,G__29293))));
}),new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.MOVEMENT_TYPES,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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","MOVEMENT_TYPES","c/MOVEMENT_TYPES",642974624,null))], null),null),cljs.core.integer_QMARK_], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","hit-points","weathergen.falcon.files.mission/hit-points",653556402),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","hitpoints","weathergen.falcon.files.mission/hitpoints",1104859779),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","hour","weathergen.falcon.files.mission/hour",-1046940500),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","icon-index","weathergen.falcon.files.mission/icon-index",-1766996784),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","id->name","weathergen.falcon.files.mission/id->name",1915082760),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","map-of","cljs.spec.alpha/map-of",153715093,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.every_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","tuple","cljs.spec.alpha/tuple",-415901908,null),new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),new cljs.core.Symbol(null,"string?","string?",-1129175764,null)),cljs.spec.alpha.tuple_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),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.integer_QMARK_,cljs.core.string_QMARK_], null)),new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,"into","into",-150836029),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),(function (G__29294){
return cljs.core.map_QMARK_.call(null,G__29294);
}),new cljs.core.Keyword(null,"kind","kind",-717265803),cljs.core.map_QMARK_,new cljs.core.Keyword("cljs.spec.alpha","kfn","cljs.spec.alpha/kfn",672643897),(function (i__28412__auto__,v__28413__auto__){
return cljs.core.nth.call(null,v__28413__auto__,(0));
}),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","map-of","cljs.spec.alpha/map-of",153715093,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","idx-modified","weathergen.falcon.files.mission/idx-modified",-353031638),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","idx-size","weathergen.falcon.files.mission/idx-size",117504199),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.images","id","weathergen.falcon.files.images/id",-1163388806),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("loadout","id","loadout/id",-1186090580),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(16)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29295){
return ((cljs.core.coll_QMARK_.call(null,G__29295)) && (cljs.core._EQ_.call(null,(16),cljs.core.bounded_count.call(null,(16),G__29295))));
}),new cljs.core.Keyword(null,"count","count",2139924085),(16),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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(16))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("ppt","id","ppt/id",-1388419136),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("int","id","int/id",-1388428731),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("vu","id","vu/id",-1388397675),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","image-id","weathergen.falcon.files.mission/image-id",1748867389),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.falcon.files.mission","image-data","weathergen.falcon.files.mission/image-data",1305050248),new cljs.core.Symbol("weathergen.falcon.files.mission","ImageData","weathergen.falcon.files.mission/ImageData",-767939513,null),weathergen.falcon.files.mission.ImageData);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","nilable","cljs.spec.alpha/nilable",1628308748,null),new cljs.core.Symbol("weathergen.falcon.files.mission","ImageDescriptor","weathergen.falcon.files.mission/ImageDescriptor",1862906272,null)),cljs.spec.alpha.nilable_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","ImageDescriptor","weathergen.falcon.files.mission/ImageDescriptor",1862906272,null),weathergen.falcon.files.mission.ImageDescriptor,null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","image-offset","weathergen.falcon.files.mission/image-offset",800625690),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","image-ids","weathergen.falcon.files.mission/image-ids",2141950065),new cljs.core.Symbol("weathergen.falcon.files.mission","IdList","weathergen.falcon.files.mission/IdList",439773059,null),weathergen.falcon.files.mission.IdList);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Symbol("weathergen.falcon.files.mission","NonNegativeInt","weathergen.falcon.files.mission/NonNegativeInt",-1370796826,null),weathergen.falcon.files.mission.NonNegativeInt);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","initiatve","weathergen.falcon.files.mission/initiatve",1702683485),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","initial-fuel","weathergen.falcon.files.mission/initial-fuel",-151699645),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(4)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29296){
return ((cljs.core.coll_QMARK_.call(null,G__29296)) && (cljs.core._EQ_.call(null,(4),cljs.core.bounded_count.call(null,(4),G__29296))));
}),new cljs.core.Keyword(null,"count","count",2139924085),(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),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(4))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","installation","weathergen.falcon.files.mission/installation",-656616400),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),weathergen.falcon.files.mission.Installation);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","installs","weathergen.falcon.files.mission/installs",-318791777),new cljs.core.Symbol("weathergen.falcon.files.mission","Installs","weathergen.falcon.files.mission/Installs",194555236,null),weathergen.falcon.files.mission.Installs);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","install-dir","weathergen.falcon.files.mission/install-dir",-577598648),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),weathergen.falcon.files.mission.Dir);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","laser-codes","weathergen.falcon.files.mission/laser-codes",-782137624),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(4)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29297){
return ((cljs.core.coll_QMARK_.call(null,G__29297)) && (cljs.core._EQ_.call(null,(4),cljs.core.bounded_count.call(null,(4),G__29297))));
}),new cljs.core.Keyword(null,"count","count",2139924085),(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),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(4))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","last-check","weathergen.falcon.files.mission/last-check",-948350819),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","last-combat","weathergen.falcon.files.mission/last-combat",-2053677989),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","last-direction","weathergen.falcon.files.mission/last-direction",919811040),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","last-index-num","weathergen.falcon.files.mission/last-index-num",452675808),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","last-major-event","weathergen.falcon.files.mission/last-major-event",-895786154),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","last-move","weathergen.falcon.files.mission/last-move",379400310),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","last-player-mission","weathergen.falcon.files.mission/last-player-mission",-1819020189),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","last-player-slot","weathergen.falcon.files.mission/last-player-slot",1113132742),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","last-objective","weathergen.falcon.files.mission/last-objective",-95318299),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","last-reinforcement","weathergen.falcon.files.mission/last-reinforcement",-1909723123),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("int","last-repair","int/last-repair",1136169674),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","last-repair","weathergen.falcon.files.mission/last-repair",-1526954899),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","last-resupply","weathergen.falcon.files.mission/last-resupply",-1582504574),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","last-wingman","weathergen.falcon.files.mission/last-wingman",1830035207),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","links","weathergen.falcon.files.mission/links",875727916),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","ObjectiveLink","weathergen.falcon.files.mission/ObjectiveLink",-955449747,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"ObjectiveLink","ObjectiveLink",-1547602693,null),weathergen.falcon.files.mission.ObjectiveLink,new cljs.core.PersistentArrayMap(null, 4, [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__29298){
return cljs.core.coll_QMARK_.call(null,G__29298);
}),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.falcon.files.mission","ObjectiveLink","weathergen.falcon.files.mission/ObjectiveLink",-955449747,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","loadouts","weathergen.falcon.files.mission/loadouts",142269567),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","VmtLoadout","weathergen.falcon.files.mission/VmtLoadout",-1593605022,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"VmtLoadout","VmtLoadout",83628760,null),weathergen.falcon.files.mission.VmtLoadout,new cljs.core.PersistentArrayMap(null, 4, [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__29299){
return cljs.core.coll_QMARK_.call(null,G__29299);
}),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.falcon.files.mission","VmtLoadout","weathergen.falcon.files.mission/VmtLoadout",-1593605022,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("flight","loadouts","flight/loadouts",-1590233423),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Loadout","weathergen.falcon.files.mission/Loadout",1837193905,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"Loadout","Loadout",-935008469,null),weathergen.falcon.files.mission.Loadout,new cljs.core.PersistentArrayMap(null, 4, [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__29300){
return cljs.core.coll_QMARK_.call(null,G__29300);
}),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.falcon.files.mission","Loadout","weathergen.falcon.files.mission/Loadout",1837193905,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078)], 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)],[new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078)], null),null,null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29301){
return cljs.core.map_QMARK_.call(null,G__29301);
}),(function (G__29301){
return cljs.core.contains_QMARK_.call(null,G__29301,new cljs.core.Keyword(null,"x","x",2099068185));
}),(function (G__29301){
return cljs.core.contains_QMARK_.call(null,G__29301,new cljs.core.Keyword(null,"y","y",-1757859776));
})], null),(function (G__29301){
return ((cljs.core.map_QMARK_.call(null,G__29301)) && (cljs.core.contains_QMARK_.call(null,G__29301,new cljs.core.Keyword(null,"x","x",2099068185))) && (cljs.core.contains_QMARK_.call(null,G__29301,new cljs.core.Keyword(null,"y","y",-1757859776))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078)], null),null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"x","x",2099068185),new cljs.core.Keyword(null,"y","y",-1757859776)], 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(null,"x","x",2099068185))),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(null,"y","y",-1757859776)))], null),null])));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","losses","weathergen.falcon.files.mission/losses",-1879114985),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","low-alt","weathergen.falcon.files.mission/low-alt",1328958093),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","ltrt","weathergen.falcon.files.mission/ltrt",1657658217),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","magneticdeclination","weathergen.falcon.files.mission/magneticdeclination",-536185241),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.falcon.files.mission","major-revision-number","weathergen.falcon.files.mission/major-revision-number",-1627500611),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","management-domain","weathergen.falcon.files.mission/management-domain",1287075328),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","manager-flags","weathergen.falcon.files.mission/manager-flags",1548895997),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","map","weathergen.falcon.files.mission/map",1963187287),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 4, [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__29302){
return cljs.core.coll_QMARK_.call(null,G__29302);
}),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("cljs.core","integer?","cljs.core/integer?",1710697810,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","map-image","weathergen.falcon.files.mission/map-image",-1703634500),new cljs.core.Symbol("weathergen.falcon.files.mission","ImageDescriptor","weathergen.falcon.files.mission/ImageDescriptor",1862906272,null),weathergen.falcon.files.mission.ImageDescriptor);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","match-strength","weathergen.falcon.files.mission/match-strength",2049881332),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","max-alt","weathergen.falcon.files.mission/max-alt",1099967840),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","max-range","weathergen.falcon.files.mission/max-range",157618515),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","max-speed","weathergen.falcon.files.mission/max-speed",1472926629),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","max-to","weathergen.falcon.files.mission/max-to",-879986357),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","max-vehicle","weathergen.falcon.files.mission/max-vehicle",1402076517),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(4)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29303){
return ((cljs.core.coll_QMARK_.call(null,G__29303)) && (cljs.core._EQ_.call(null,(4),cljs.core.bounded_count.call(null,(4),G__29303))));
}),new cljs.core.Keyword(null,"count","count",2139924085),(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),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(4))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","max-wt","weathergen.falcon.files.mission/max-wt",702316109),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","members","weathergen.falcon.files.mission/members",-1782598568),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(8)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29304){
return ((cljs.core.coll_QMARK_.call(null,G__29304)) && (cljs.core._EQ_.call(null,(8),cljs.core.bounded_count.call(null,(8),G__29304))));
}),new cljs.core.Keyword(null,"count","count",2139924085),(8),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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(8))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","millisecond","weathergen.falcon.files.mission/millisecond",-2128287792),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","min-to","weathergen.falcon.files.mission/min-to",2143567845),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","minor-revision-number","weathergen.falcon.files.mission/minor-revision-number",2137407463),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","minute","weathergen.falcon.files.mission/minute",880078185),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","mintacan","weathergen.falcon.files.mission/mintacan",141787016),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.falcon.files.mission","misc-text-dir","weathergen.falcon.files.mission/misc-text-dir",1894523511),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),weathergen.falcon.files.mission.Dir);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("mission-request","mission","mission-request/mission",549236284),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","mission","weathergen.falcon.files.mission/mission",43331456),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","category","weathergen.falcon.files.mission/category",-505967670)], 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)],[new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","category","weathergen.falcon.files.mission/category",-505967670)], null),null,null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29305){
return cljs.core.map_QMARK_.call(null,G__29305);
}),(function (G__29305){
return cljs.core.contains_QMARK_.call(null,G__29305,new cljs.core.Keyword(null,"name","name",1843675177));
}),(function (G__29305){
return cljs.core.contains_QMARK_.call(null,G__29305,new cljs.core.Keyword(null,"category","category",-593092832));
})], null),(function (G__29305){
return ((cljs.core.map_QMARK_.call(null,G__29305)) && (cljs.core.contains_QMARK_.call(null,G__29305,new cljs.core.Keyword(null,"name","name",1843675177))) && (cljs.core.contains_QMARK_.call(null,G__29305,new cljs.core.Keyword(null,"category","category",-593092832))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","category","weathergen.falcon.files.mission/category",-505967670)], null),null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"category","category",-593092832)], 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(null,"name","name",1843675177))),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(null,"category","category",-593092832)))], null),null])));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("flight","mission","flight/mission",472463770),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","mission-context","weathergen.falcon.files.mission/mission-context",-2087987666),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","mission-id","weathergen.falcon.files.mission/mission-id",-298821030),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","mission-name","weathergen.falcon.files.mission/mission-name",-1286039680),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.falcon.files.mission","mission-target","weathergen.falcon.files.mission/mission-target",1990621919),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","mission-over-time","weathergen.falcon.files.mission/mission-over-time",-1661900701),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","mission-priority","weathergen.falcon.files.mission/mission-priority",168452709),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(41)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29306){
return ((cljs.core.coll_QMARK_.call(null,G__29306)) && (cljs.core._EQ_.call(null,(41),cljs.core.bounded_count.call(null,(41),G__29306))));
}),new cljs.core.Keyword(null,"count","count",2139924085),(41),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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(41))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","mission-requests","weathergen.falcon.files.mission/mission-requests",-1553253637),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","MissionRequest","weathergen.falcon.files.mission/MissionRequest",-59096358,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"MissionRequest","MissionRequest",524286292,null),weathergen.falcon.files.mission.MissionRequest,new cljs.core.PersistentArrayMap(null, 4, [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__29307){
return cljs.core.coll_QMARK_.call(null,G__29307);
}),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.falcon.files.mission","MissionRequest","weathergen.falcon.files.mission/MissionRequest",-59096358,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","motto","weathergen.falcon.files.mission/motto",1232886770),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.falcon.files.mission","moved","weathergen.falcon.files.mission/moved",1009361001),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","movement-speed","weathergen.falcon.files.mission/movement-speed",-240469229),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","movement-type","weathergen.falcon.files.mission/movement-type",1422793885),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),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.falcon.files.mission","names","weathergen.falcon.files.mission/names",658607436),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,"idx","idx",1053688473),new cljs.core.Symbol("weathergen.falcon.files.mission","NonNegativeInt","weathergen.falcon.files.mission/NonNegativeInt",-1370796826,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","nilable","cljs.spec.alpha/nilable",1628308748,null),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,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,"idx","idx",1053688473),new cljs.core.Symbol("weathergen.falcon.files.mission","NonNegativeInt","weathergen.falcon.files.mission/NonNegativeInt",-1370796826,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,"idx","idx",1053688473)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.NonNegativeInt], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","NonNegativeInt","weathergen.falcon.files.mission/NonNegativeInt",-1370796826,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,"idx","idx",1053688473),new cljs.core.Symbol("weathergen.falcon.files.mission","NonNegativeInt","weathergen.falcon.files.mission/NonNegativeInt",-1370796826,null)),cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","nilable","cljs.spec.alpha/nilable",1628308748,null),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.nilable_impl.call(null,new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_,null),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","nilable","cljs.spec.alpha/nilable",1628308748,null),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),null,null,null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","naval-experience","weathergen.falcon.files.mission/naval-experience",-2058678548),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","naval-ratio","weathergen.falcon.files.mission/naval-ratio",358568752),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","naval-tasking-manager","weathergen.falcon.files.mission/naval-tasking-manager",346066399),new cljs.core.Symbol("weathergen.falcon.files.mission","NavalTaskingManager","weathergen.falcon.files.mission/NavalTaskingManager",755059275,null),weathergen.falcon.files.mission.NavalTaskingManager);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("int","name","int/name",1843783706),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","name->id","weathergen.falcon.files.mission/name->id",1859267374),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","map-of","cljs.spec.alpha/map-of",153715093,null),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)),cljs.spec.alpha.every_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","tuple","cljs.spec.alpha/tuple",-415901908,null),new cljs.core.Symbol(null,"string?","string?",-1129175764,null),new cljs.core.Symbol(null,"integer?","integer?",1303791671,null)),cljs.spec.alpha.tuple_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.string_QMARK_,cljs.core.integer_QMARK_], null)),new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,"into","into",-150836029),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),(function (G__29308){
return cljs.core.map_QMARK_.call(null,G__29308);
}),new cljs.core.Keyword(null,"kind","kind",-717265803),cljs.core.map_QMARK_,new cljs.core.Keyword("cljs.spec.alpha","kfn","cljs.spec.alpha/kfn",672643897),(function (i__28412__auto__,v__28413__auto__){
return cljs.core.nth.call(null,v__28413__auto__,(0));
}),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","map-of","cljs.spec.alpha/map-of",153715093,null),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","name-id","weathergen.falcon.files.mission/name-id",-1810014458),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","nctr","weathergen.falcon.files.mission/nctr",-1365252522),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.falcon.files.mission","next-header","weathergen.falcon.files.mission/next-header",-278788297),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","num-elements","weathergen.falcon.files.mission/num-elements",270346357),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","VEHICLE_GROUPS_PER_UNIT","weathergen.falcon.constants/VEHICLE_GROUPS_PER_UNIT",-1007019064,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29309){
return ((cljs.core.coll_QMARK_.call(null,G__29309)) && (cljs.core._EQ_.call(null,weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,cljs.core.bounded_count.call(null,weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,G__29309))));
}),new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","VEHICLE_GROUPS_PER_UNIT","c/VEHICLE_GROUPS_PER_UNIT",-1221930257,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","number-of-pilots","weathergen.falcon.files.mission/number-of-pilots",-952044599),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","obj-flags","weathergen.falcon.files.mission/obj-flags",693464809),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","obj-id","weathergen.falcon.files.mission/obj-id",1379538503),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","obj-type-priority","weathergen.falcon.files.mission/obj-type-priority",1451171622),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(36)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29310){
return ((cljs.core.coll_QMARK_.call(null,G__29310)) && (cljs.core._EQ_.call(null,(36),cljs.core.bounded_count.call(null,(36),G__29310))));
}),new cljs.core.Keyword(null,"count","count",2139924085),(36),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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(36))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","object-dir","weathergen.falcon.files.mission/object-dir",-459344762),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),weathergen.falcon.files.mission.Dir);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","objective","weathergen.falcon.files.mission/objective",-556396617),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","objective-deltas","weathergen.falcon.files.mission/objective-deltas",-955174707),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","ObjectiveDelta","weathergen.falcon.files.mission/ObjectiveDelta",-1168715165,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"ObjectiveDelta","ObjectiveDelta",-586652455,null),weathergen.falcon.files.mission.ObjectiveDelta,new cljs.core.PersistentArrayMap(null, 4, [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__29311){
return cljs.core.coll_QMARK_.call(null,G__29311);
}),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.falcon.files.mission","ObjectiveDelta","weathergen.falcon.files.mission/ObjectiveDelta",-1168715165,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","objective-class-data","weathergen.falcon.files.mission/objective-class-data",-488267802),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","ObjectiveClassData","weathergen.falcon.files.mission/ObjectiveClassData",1683772126,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"ObjectiveClassData","ObjectiveClassData",-2004367260,null),weathergen.falcon.files.mission.ObjectiveClassData,new cljs.core.PersistentArrayMap(null, 4, [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__29312){
return cljs.core.coll_QMARK_.call(null,G__29312);
}),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.falcon.files.mission","ObjectiveClassData","weathergen.falcon.files.mission/ObjectiveClassData",1683772126,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","objective-type","weathergen.falcon.files.mission/objective-type",343871032),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("raw","objectives","raw/objectives",934056205),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Objective","weathergen.falcon.files.mission/Objective",-1296315408,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"Objective","Objective",-578388614,null),weathergen.falcon.files.mission.Objective,new cljs.core.PersistentArrayMap(null, 4, [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__29313){
return cljs.core.coll_QMARK_.call(null,G__29313);
}),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.falcon.files.mission","Objective","weathergen.falcon.files.mission/Objective",-1296315408,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","objectives","weathergen.falcon.files.mission/objectives",410009507),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","AugmentedObjective","weathergen.falcon.files.mission/AugmentedObjective",1698727821,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"AugmentedObjective","AugmentedObjective",-1039844069,null),weathergen.falcon.files.mission.AugmentedObjective,new cljs.core.PersistentArrayMap(null, 4, [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__29314){
return cljs.core.coll_QMARK_.call(null,G__29314);
}),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.falcon.files.mission","AugmentedObjective","weathergen.falcon.files.mission/AugmentedObjective",1698727821,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","orders","weathergen.falcon.files.mission/orders",631905674),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","offensive-air-action","weathergen.falcon.files.mission/offensive-air-action",-2047003390),new cljs.core.Symbol("weathergen.falcon.files.mission","TeamAirAction","weathergen.falcon.files.mission/TeamAirAction",-562482885,null),weathergen.falcon.files.mission.TeamAirAction);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","offset","weathergen.falcon.files.mission/offset",-1108759055),new cljs.core.Symbol("weathergen.falcon.files.mission","Vector3","weathergen.falcon.files.mission/Vector3",-1938660846,null),weathergen.falcon.files.mission.Vector3);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","old-mission","weathergen.falcon.files.mission/old-mission",-1684443929),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","owner","weathergen.falcon.files.mission/owner",1206032935),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","package","weathergen.falcon.files.mission/package",-1415630340),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)], 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)],[new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)], null),null,null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29315){
return cljs.core.map_QMARK_.call(null,G__29315);
}),(function (G__29315){
return cljs.core.contains_QMARK_.call(null,G__29315,new cljs.core.Keyword(null,"name","name",1843675177));
})], null),(function (G__29315){
return ((cljs.core.map_QMARK_.call(null,G__29315)) && (cljs.core.contains_QMARK_.call(null,G__29315,new cljs.core.Keyword(null,"name","name",1843675177))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)], null),null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"name","name",1843675177)], 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(null,"name","name",1843675177)))], null),null])));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("flight","package","flight/package",-1294787534),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","pak","weathergen.falcon.files.mission/pak",-488251816),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","palette-offset","weathergen.falcon.files.mission/palette-offset",-859290369),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","palette-size","weathergen.falcon.files.mission/palette-size",-119714576),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","parent","weathergen.falcon.files.mission/parent",544339251),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","path","weathergen.falcon.files.mission/path",-771299386),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null),weathergen.falcon.files.mission.Path);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","persistent","weathergen.falcon.files.mission/persistent",301470291),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","persistent-objects","weathergen.falcon.files.mission/persistent-objects",1801379401),new cljs.core.Symbol("weathergen.falcon.files.mission","PersistentObjects","weathergen.falcon.files.mission/PersistentObjects",384922083,null),weathergen.falcon.files.mission.PersistentObjects);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","pilots","weathergen.falcon.files.mission/pilots",835455703),new cljs.core.Symbol("weathergen.falcon.files.mission","Pilots","weathergen.falcon.files.mission/Pilots",378689580,null),weathergen.falcon.files.mission.Pilots);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("flight","pilots","flight/pilots",1226839277),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(4)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29316){
return ((cljs.core.coll_QMARK_.call(null,G__29316)) && (cljs.core._EQ_.call(null,(4),cljs.core.bounded_count.call(null,(4),G__29316))));
}),new cljs.core.Keyword(null,"count","count",2139924085),(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),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(4))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","plane-stats","weathergen.falcon.files.mission/plane-stats",596458237),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(4)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29317){
return ((cljs.core.coll_QMARK_.call(null,G__29317)) && (cljs.core._EQ_.call(null,(4),cljs.core.bounded_count.call(null,(4),G__29317))));
}),new cljs.core.Keyword(null,"count","count",2139924085),(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),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(4))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","player-rating","weathergen.falcon.files.mission/player-rating",1396319340),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.falcon.files.mission","player-slots","weathergen.falcon.files.mission/player-slots",-318111164),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(4)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29318){
return ((cljs.core.coll_QMARK_.call(null,G__29318)) && (cljs.core._EQ_.call(null,(4),cljs.core.bounded_count.call(null,(4),G__29318))));
}),new cljs.core.Keyword(null,"count","count",2139924085),(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),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(4))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","player-squadron-id","weathergen.falcon.files.mission/player-squadron-id",-1966358122),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","point-header-data","weathergen.falcon.files.mission/point-header-data",-561631475),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","PointHeaderData","weathergen.falcon.files.mission/PointHeaderData",-1411376804,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"PointHeaderData","PointHeaderData",1312460458,null),weathergen.falcon.files.mission.PointHeaderData,new cljs.core.PersistentArrayMap(null, 4, [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__29319){
return cljs.core.coll_QMARK_.call(null,G__29319);
}),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.falcon.files.mission","PointHeaderData","weathergen.falcon.files.mission/PointHeaderData",-1411376804,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","points","weathergen.falcon.files.mission/points",1277042547),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","pos-z","weathergen.falcon.files.mission/pos-z",415078470),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.falcon.files.mission","ppt-data","weathergen.falcon.files.mission/ppt-data",58417629),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","PrePlannedThreat","weathergen.falcon.files.mission/PrePlannedThreat",919141971,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"PrePlannedThreat","PrePlannedThreat",1393783241,null),weathergen.falcon.files.mission.PrePlannedThreat,new cljs.core.PersistentArrayMap(null, 4, [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__29320){
return cljs.core.coll_QMARK_.call(null,G__29320);
}),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.falcon.files.mission","PrePlannedThreat","weathergen.falcon.files.mission/PrePlannedThreat",919141971,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","primary-objectives","weathergen.falcon.files.mission/primary-objectives",725299083),new cljs.core.Symbol("weathergen.falcon.files.mission","PrimaryObjectives","weathergen.falcon.files.mission/PrimaryObjectives",1615902496,null),weathergen.falcon.files.mission.PrimaryObjectives);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","priority","weathergen.falcon.files.mission/priority",1887991877),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","priority-event-entries","weathergen.falcon.files.mission/priority-event-entries",2014151899),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","EventNode","weathergen.falcon.files.mission/EventNode",-2135402813,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"EventNode","EventNode",603308361,null),weathergen.falcon.files.mission.EventNode,new cljs.core.PersistentArrayMap(null, 4, [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__29321){
return cljs.core.coll_QMARK_.call(null,G__29321);
}),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.falcon.files.mission","EventNode","weathergen.falcon.files.mission/EventNode",-2135402813,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","private","weathergen.falcon.files.mission/private",1132571664),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","pt-data-index","weathergen.falcon.files.mission/pt-data-index",-1736332457),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","quantity","weathergen.falcon.files.mission/quantity",264407876),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","rack-flags","weathergen.falcon.files.mission/rack-flags",1517182764),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","radar-data","weathergen.falcon.files.mission/radar-data",1026796848),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","has-radar-data","weathergen.falcon.files.mission/has-radar-data",90091994)], null),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","detect-ratio","weathergen.falcon.files.mission/detect-ratio",-1725303095)], 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)],[new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","has-radar-data","weathergen.falcon.files.mission/has-radar-data",90091994)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","detect-ratio","weathergen.falcon.files.mission/detect-ratio",-1725303095)], null),null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29322){
return cljs.core.map_QMARK_.call(null,G__29322);
}),(function (G__29322){
return cljs.core.contains_QMARK_.call(null,G__29322,new cljs.core.Keyword(null,"has-radar-data","has-radar-data",-1734005648));
})], null),(function (G__29322){
return ((cljs.core.map_QMARK_.call(null,G__29322)) && (cljs.core.contains_QMARK_.call(null,G__29322,new cljs.core.Keyword(null,"has-radar-data","has-radar-data",-1734005648))));
}),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"detect-ratio","detect-ratio",-1552651193)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","has-radar-data","weathergen.falcon.files.mission/has-radar-data",90091994)], null),null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"has-radar-data","has-radar-data",-1734005648)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","detect-ratio","weathergen.falcon.files.mission/detect-ratio",-1725303095)], null),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(null,"has-radar-data","has-radar-data",-1734005648)))], null),null])));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","radar-feature","weathergen.falcon.files.mission/radar-feature",287589422),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","radar-type","weathergen.falcon.files.mission/radar-type",691386808),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","radar-vehicle","weathergen.falcon.files.mission/radar-vehicle",-1080595576),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","radius-ft","weathergen.falcon.files.mission/radius-ft",-870066270),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.falcon.files.mission","range","weathergen.falcon.files.mission/range",76948868),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"multiple","multiple",1244445549),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","MOVEMENT_TYPES","weathergen.falcon.constants/MOVEMENT_TYPES",-765232959,null)),new cljs.core.Keyword(null,"singular","singular",1409933445),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,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,"multiple","multiple",1244445549),new cljs.core.Keyword(null,"singular","singular",1409933445)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","MOVEMENT_TYPES","weathergen.falcon.constants/MOVEMENT_TYPES",-765232959,null)),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29323){
return ((cljs.core.coll_QMARK_.call(null,G__29323)) && (cljs.core._EQ_.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,cljs.core.bounded_count.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,G__29323))));
}),new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.MOVEMENT_TYPES,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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","MOVEMENT_TYPES","c/MOVEMENT_TYPES",642974624,null))], null),null),cljs.core.integer_QMARK_], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","rariety","weathergen.falcon.files.mission/rariety",1140404326),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","rate","weathergen.falcon.files.mission/rate",1345449364),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","rcs-factor","weathergen.falcon.files.mission/rcs-factor",863072417),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.falcon.files.mission","recent-event-entries","weathergen.falcon.files.mission/recent-event-entries",-114982220),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","EventNode","weathergen.falcon.files.mission/EventNode",-2135402813,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"EventNode","EventNode",603308361,null),weathergen.falcon.files.mission.EventNode,new cljs.core.PersistentArrayMap(null, 4, [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__29324){
return cljs.core.coll_QMARK_.call(null,G__29324);
}),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.falcon.files.mission","EventNode","weathergen.falcon.files.mission/EventNode",-2135402813,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","refuel-quantity","weathergen.falcon.files.mission/refuel-quantity",1738806084),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","reinforcement","weathergen.falcon.files.mission/reinforcement",-308550720),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","repair-time","weathergen.falcon.files.mission/repair-time",-868535751),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","replacements-available","weathergen.falcon.files.mission/replacements-available",-1748504285),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","requester","weathergen.falcon.files.mission/requester",323342959),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","resource","weathergen.falcon.files.mission/resource",-1321650618),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.falcon.files.mission","roe-check","weathergen.falcon.files.mission/roe-check",-1992214504),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","role","weathergen.falcon.files.mission/role",910919170),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","roster","weathergen.falcon.files.mission/roster",-401619194),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","rsc-modified","weathergen.falcon.files.mission/rsc-modified",-1672759696),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","rsc-size","weathergen.falcon.files.mission/rsc-size",2061102923),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","runway-num","weathergen.falcon.files.mission/runway-num",1516861086),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","save-file","weathergen.falcon.files.mission/save-file",-1890774072),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.falcon.files.mission","scenario","weathergen.falcon.files.mission/scenario",-1956768811),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.falcon.files.mission","scenario-files","weathergen.falcon.files.mission/scenario-files",-132892628),new cljs.core.Symbol("weathergen.falcon.files.mission","ScenarioFiles","weathergen.falcon.files.mission/ScenarioFiles",-1366200139,null),weathergen.falcon.files.mission.ScenarioFiles);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","schedule","weathergen.falcon.files.mission/schedule",-1332281856),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","ATM_MAX_CYCLES","weathergen.falcon.constants/ATM_MAX_CYCLES",-714879169,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29325){
return ((cljs.core.coll_QMARK_.call(null,G__29325)) && (cljs.core._EQ_.call(null,weathergen.falcon.constants.ATM_MAX_CYCLES,cljs.core.bounded_count.call(null,weathergen.falcon.constants.ATM_MAX_CYCLES,G__29325))));
}),new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.ATM_MAX_CYCLES,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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","ATM_MAX_CYCLES","c/ATM_MAX_CYCLES",1787957342,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","second","weathergen.falcon.files.mission/second",2018499904),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","secondary","weathergen.falcon.files.mission/secondary",-120553166),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","scores","weathergen.falcon.files.mission/scores",1370371582),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","MAXIMUM_ROLES","weathergen.falcon.constants/MAXIMUM_ROLES",1319970290,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29326){
return ((cljs.core.coll_QMARK_.call(null,G__29326)) && (cljs.core._EQ_.call(null,weathergen.falcon.constants.MAXIMUM_ROLES,cljs.core.bounded_count.call(null,weathergen.falcon.constants.MAXIMUM_ROLES,G__29326))));
}),new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.MAXIMUM_ROLES,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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","MAXIMUM_ROLES","c/MAXIMUM_ROLES",-493003565,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","ships","weathergen.falcon.files.mission/ships",-318103868),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","sim-data-dir","weathergen.falcon.files.mission/sim-data-dir",-1331304596),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),weathergen.falcon.files.mission.Dir);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","sim-data-idx","weathergen.falcon.files.mission/sim-data-idx",-157488080),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","simweap-index","weathergen.falcon.files.mission/simweap-index",-24898421),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","sin-heading","weathergen.falcon.files.mission/sin-heading",913404991),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.falcon.files.mission","size","weathergen.falcon.files.mission/size",-498942187),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(2)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29327){
return ((cljs.core.coll_QMARK_.call(null,G__29327)) && (cljs.core._EQ_.call(null,(2),cljs.core.bounded_count.call(null,(2),G__29327))));
}),new cljs.core.Keyword(null,"count","count",2139924085),(2),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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(2))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","situation","weathergen.falcon.files.mission/situation",-2583303),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","slots","weathergen.falcon.files.mission/slots",1866096404),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(4)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29328){
return ((cljs.core.coll_QMARK_.call(null,G__29328)) && (cljs.core._EQ_.call(null,(4),cljs.core.bounded_count.call(null,(4),G__29328))));
}),new cljs.core.Keyword(null,"count","count",2139924085),(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),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(4))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","sound-dir","weathergen.falcon.files.mission/sound-dir",2134408746),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),weathergen.falcon.files.mission.Dir);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","special-index","weathergen.falcon.files.mission/special-index",-1682350907),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","specialty","weathergen.falcon.files.mission/specialty",-571641396),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","speed","weathergen.falcon.files.mission/speed",-409174135),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","spot-time","weathergen.falcon.files.mission/spot-time",-1289121708),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","spotted","weathergen.falcon.files.mission/spotted",807895248),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","sptype","weathergen.falcon.files.mission/sptype",1179274124),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","squadron","weathergen.falcon.files.mission/squadron",463902337),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)], 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)],[new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)], null),null,null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__29329){
return cljs.core.map_QMARK_.call(null,G__29329);
}),(function (G__29329){
return cljs.core.contains_QMARK_.call(null,G__29329,new cljs.core.Keyword(null,"name","name",1843675177));
})], null),(function (G__29329){
return ((cljs.core.map_QMARK_.call(null,G__29329)) && (cljs.core.contains_QMARK_.call(null,G__29329,new cljs.core.Keyword(null,"name","name",1843675177))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)], null),null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"name","name",1843675177)], 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(null,"name","name",1843675177)))], null),null])));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("flight","squadron","flight/squadron",13800615),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"map","map",1371690461),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","map-of","cljs.spec.alpha/map-of",153715093,null),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,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.falcon.files.mission","Squadron","weathergen.falcon.files.mission/Squadron",-1886789833,null))),new cljs.core.Keyword(null,"seq","seq",-1817803783),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","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Squadron","weathergen.falcon.files.mission/Squadron",-1886789833,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,"map","map",1371690461),new cljs.core.Keyword(null,"seq","seq",-1817803783)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","map-of","cljs.spec.alpha/map-of",153715093,null),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,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.falcon.files.mission","Squadron","weathergen.falcon.files.mission/Squadron",-1886789833,null))),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","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Squadron","weathergen.falcon.files.mission/Squadron",-1886789833,null)))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.alpha.every_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","tuple","cljs.spec.alpha/tuple",-415901908,null),new cljs.core.Symbol(null,"VuId","VuId",-684085580,null),cljs.core.list(new cljs.core.Symbol("s","coll-of","s/coll-of",-1705285349,null),new cljs.core.Symbol(null,"Squadron","Squadron",676227521,null))),cljs.spec.alpha.tuple_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,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.falcon.files.mission","Squadron","weathergen.falcon.files.mission/Squadron",-1886789833,null))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.VuId,cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"Squadron","Squadron",676227521,null),weathergen.falcon.files.mission.Squadron,new cljs.core.PersistentArrayMap(null, 4, [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__29331){
return cljs.core.coll_QMARK_.call(null,G__29331);
}),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.falcon.files.mission","Squadron","weathergen.falcon.files.mission/Squadron",-1886789833,null))], null),null)], null)),new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,"into","into",-150836029),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),(function (G__29330){
return cljs.core.map_QMARK_.call(null,G__29330);
}),new cljs.core.Keyword(null,"kind","kind",-717265803),cljs.core.map_QMARK_,new cljs.core.Keyword("cljs.spec.alpha","kfn","cljs.spec.alpha/kfn",672643897),(function (i__28412__auto__,v__28413__auto__){
return cljs.core.nth.call(null,v__28413__auto__,(0));
}),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","map-of","cljs.spec.alpha/map-of",153715093,null),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,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.falcon.files.mission","Squadron","weathergen.falcon.files.mission/Squadron",-1886789833,null)))], null),null),cljs.spec.alpha.nilable_impl.call(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.falcon.files.mission","Squadron","weathergen.falcon.files.mission/Squadron",-1886789833,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"Squadron","Squadron",676227521,null),weathergen.falcon.files.mission.Squadron,new cljs.core.PersistentArrayMap(null, 4, [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__29332){
return cljs.core.coll_QMARK_.call(null,G__29332);
}),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.falcon.files.mission","Squadron","weathergen.falcon.files.mission/Squadron",-1886789833,null))], null),null),null)], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-image","weathergen.falcon.files.mission/squadron-image",-423118152),new cljs.core.Symbol("weathergen.falcon.files.mission","ImageDescriptor","weathergen.falcon.files.mission/ImageDescriptor",1862906272,null),weathergen.falcon.files.mission.ImageDescriptor);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-info","weathergen.falcon.files.mission/squadron-info",1935185696),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","SquadronInfo","weathergen.falcon.files.mission/SquadronInfo",1028616050,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"SquadronInfo","SquadronInfo",-796591676,null),weathergen.falcon.files.mission.SquadronInfo,new cljs.core.PersistentArrayMap(null, 4, [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__29333){
return cljs.core.coll_QMARK_.call(null,G__29333);
}),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.falcon.files.mission","SquadronInfo","weathergen.falcon.files.mission/SquadronInfo",1028616050,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-patch","weathergen.falcon.files.mission/squadron-patch",-1846053444),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","stance","weathergen.falcon.files.mission/stance",173653206),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(8)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29334){
return ((cljs.core.coll_QMARK_.call(null,G__29334)) && (cljs.core._EQ_.call(null,(8),cljs.core.bounded_count.call(null,(8),G__29334))));
}),new cljs.core.Keyword(null,"count","count",2139924085),(8),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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(8))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","start","weathergen.falcon.files.mission/start",1184725893),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","start-block","weathergen.falcon.files.mission/start-block",-770598562),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","start-status","weathergen.falcon.files.mission/start-status",235739291),new cljs.core.Symbol("weathergen.falcon.files.mission","TeamStatus","weathergen.falcon.files.mission/TeamStatus",1447376489,null),weathergen.falcon.files.mission.TeamStatus);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","stop","weathergen.falcon.files.mission/stop",-433998692),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","strength","weathergen.falcon.files.mission/strength",-889401924),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"multiple","multiple",1244445549),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","MOVEMENT_TYPES","weathergen.falcon.constants/MOVEMENT_TYPES",-765232959,null)),new cljs.core.Keyword(null,"singular","singular",1409933445),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,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,"multiple","multiple",1244445549),new cljs.core.Keyword(null,"singular","singular",1409933445)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","MOVEMENT_TYPES","weathergen.falcon.constants/MOVEMENT_TYPES",-765232959,null)),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29335){
return ((cljs.core.coll_QMARK_.call(null,G__29335)) && (cljs.core._EQ_.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,cljs.core.bounded_count.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,G__29335))));
}),new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.MOVEMENT_TYPES,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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","MOVEMENT_TYPES","c/MOVEMENT_TYPES",642974624,null))], null),null),cljs.core.integer_QMARK_], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","strings","weathergen.falcon.files.mission/strings",-524118625),new cljs.core.Symbol("weathergen.falcon.files.mission","StringsData","weathergen.falcon.files.mission/StringsData",-1847078139,null),weathergen.falcon.files.mission.StringsData);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","stype","weathergen.falcon.files.mission/stype",-688992601),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","supply","weathergen.falcon.files.mission/supply",-45632963),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","supply-available","weathergen.falcon.files.mission/supply-available",-1548515090),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","supply-level","weathergen.falcon.files.mission/supply-level",1690639269),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","tactic","weathergen.falcon.files.mission/tactic",661039788),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","tangible","weathergen.falcon.files.mission/tangible",1925068834),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","target-building","weathergen.falcon.files.mission/target-building",-2079590718),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","target","weathergen.falcon.files.mission/target",-1303374185),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","target-id","weathergen.falcon.files.mission/target-id",167375943),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","target-num","weathergen.falcon.files.mission/target-num",-1006424384),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","te-flags","weathergen.falcon.files.mission/te-flags",1943722675),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","te-num-aircraft","weathergen.falcon.files.mission/te-num-aircraft",938490194),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(8)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29336){
return ((cljs.core.coll_QMARK_.call(null,G__29336)) && (cljs.core._EQ_.call(null,(8),cljs.core.bounded_count.call(null,(8),G__29336))));
}),new cljs.core.Keyword(null,"count","count",2139924085),(8),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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(8))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","te-num-f16s","weathergen.falcon.files.mission/te-num-f16s",-191711146),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(8)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29337){
return ((cljs.core.coll_QMARK_.call(null,G__29337)) && (cljs.core._EQ_.call(null,(8),cljs.core.bounded_count.call(null,(8),G__29337))));
}),new cljs.core.Keyword(null,"count","count",2139924085),(8),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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(8))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","te-num-teams","weathergen.falcon.files.mission/te-num-teams",2124942913),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","te-start","weathergen.falcon.files.mission/te-start",1258144836),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","te-team","weathergen.falcon.files.mission/te-team",2067528982),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","te-team-points","weathergen.falcon.files.mission/te-team-points",1537751487),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(8)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29338){
return ((cljs.core.coll_QMARK_.call(null,G__29338)) && (cljs.core._EQ_.call(null,(8),cljs.core.bounded_count.call(null,(8),G__29338))));
}),new cljs.core.Keyword(null,"count","count",2139924085),(8),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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(8))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","te-time-limit","weathergen.falcon.files.mission/te-time-limit",1247115986),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","te-type","weathergen.falcon.files.mission/te-type",-1878129922),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","te-victory-points","weathergen.falcon.files.mission/te-victory-points",1821995009),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","team","weathergen.falcon.files.mission/team",-1375167511),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("team","team","team/team",1350128664),new cljs.core.Symbol("weathergen.falcon.files.mission","TeamTeam","weathergen.falcon.files.mission/TeamTeam",-1934724857,null),weathergen.falcon.files.mission.TeamTeam);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","team-color","weathergen.falcon.files.mission/team-color",-1416174578),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","team-flag","weathergen.falcon.files.mission/team-flag",342214246),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","team-info","weathergen.falcon.files.mission/team-info",-125472337),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","TeamBasicInfo","weathergen.falcon.files.mission/TeamBasicInfo",1508263632,null),new cljs.core.Keyword(null,"count","count",2139924085),(8)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"TeamBasicInfo","TeamBasicInfo",-86193074,null),weathergen.falcon.files.mission.TeamBasicInfo,new cljs.core.PersistentArrayMap(null, 5, [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__29339){
return ((cljs.core.coll_QMARK_.call(null,G__29339)) && (cljs.core._EQ_.call(null,(8),cljs.core.bounded_count.call(null,(8),G__29339))));
}),new cljs.core.Keyword(null,"count","count",2139924085),(8),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.falcon.files.mission","TeamBasicInfo","weathergen.falcon.files.mission/TeamBasicInfo",1508263632,null),new cljs.core.Keyword(null,"count","count",2139924085),(8))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","teams","weathergen.falcon.files.mission/teams",-1060301368),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Team","weathergen.falcon.files.mission/Team",370269018,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"Team","Team",-1252572720,null),weathergen.falcon.files.mission.Team,new cljs.core.PersistentArrayMap(null, 4, [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__29340){
return cljs.core.coll_QMARK_.call(null,G__29340);
}),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.falcon.files.mission","Team","weathergen.falcon.files.mission/Team",370269018,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","tempo","weathergen.falcon.files.mission/tempo",1058201729),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","terrain-dir","weathergen.falcon.files.mission/terrain-dir",-66327300),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),weathergen.falcon.files.mission.Dir);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","tex-idx","weathergen.falcon.files.mission/tex-idx",-1298075695),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","theater","weathergen.falcon.files.mission/theater",892682177),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null),weathergen.falcon.files.mission.Theater);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","theater-name","weathergen.falcon.files.mission/theater-name",-661452264),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.falcon.files.mission","theater-size-x","weathergen.falcon.files.mission/theater-size-x",1167845199),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","theater-size-y","weathergen.falcon.files.mission/theater-size-y",-265221688),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","theaters","weathergen.falcon.files.mission/theaters",135274652),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"Theater","Theater",-809812509,null),weathergen.falcon.files.mission.Theater,new cljs.core.PersistentArrayMap(null, 4, [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__29341){
return cljs.core.coll_QMARK_.call(null,G__29341);
}),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.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","time","weathergen.falcon.files.mission/time",-1351271916),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","time-on-target","weathergen.falcon.files.mission/time-on-target",1754786574),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","time-stamp","weathergen.falcon.files.mission/time-stamp",-1751935950),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","timeout","weathergen.falcon.files.mission/timeout",-1958247324),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","tot","weathergen.falcon.files.mission/tot",438073632),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","tot-type","weathergen.falcon.files.mission/tot-type",-1651966103),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","transferable","weathergen.falcon.files.mission/transferable",-1781694740),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","tx","weathergen.falcon.files.mission/tx",1872347788),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","ty","weathergen.falcon.files.mission/ty",1848699175),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","type","weathergen.falcon.files.mission/type",-1571457242),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("flight","type","flight/type",-1312723716),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"flight","flight",-764860679),"null"], null), null),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"flight","flight",-764860679),null], null), null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","ui-name","weathergen.falcon.files.mission/ui-name",737365718),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.falcon.files.mission","units","weathergen.falcon.files.mission/units",-1082709161),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Unit","weathergen.falcon.files.mission/Unit",-1510668303,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"Unit","Unit",1086897223,null),weathergen.falcon.files.mission.Unit,new cljs.core.PersistentArrayMap(null, 4, [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__29342){
return cljs.core.coll_QMARK_.call(null,G__29342);
}),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.falcon.files.mission","Unit","weathergen.falcon.files.mission/Unit",-1510668303,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","unit-flags","weathergen.falcon.files.mission/unit-flags",-1918064651),new cljs.core.Symbol("weathergen.falcon.files.mission","UnitFlags","weathergen.falcon.files.mission/UnitFlags",1810895183,null),weathergen.falcon.files.mission.UnitFlags);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","unit-class-data","weathergen.falcon.files.mission/unit-class-data",-341212057),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","UnitClassData","weathergen.falcon.files.mission/UnitClassData",-1297317559,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"UnitClassData","UnitClassData",-673834017,null),weathergen.falcon.files.mission.UnitClassData,new cljs.core.PersistentArrayMap(null, 4, [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__29343){
return cljs.core.coll_QMARK_.call(null,G__29343);
}),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.falcon.files.mission","UnitClassData","weathergen.falcon.files.mission/UnitClassData",-1297317559,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","unit-type-priority","weathergen.falcon.files.mission/unit-type-priority",774152055),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(20)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29344){
return ((cljs.core.coll_QMARK_.call(null,G__29344)) && (cljs.core._EQ_.call(null,(20),cljs.core.bounded_count.call(null,(20),G__29344))));
}),new cljs.core.Keyword(null,"count","count",2139924085),(20),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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(20))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","update-rate","weathergen.falcon.files.mission/update-rate",76404465),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","update-tolerance","weathergen.falcon.files.mission/update-tolerance",1816777841),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","user-ids","weathergen.falcon.files.mission/user-ids",2086909600),new cljs.core.Symbol("weathergen.falcon.files.mission","IdList","weathergen.falcon.files.mission/IdList",439773059,null),weathergen.falcon.files.mission.IdList);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","value","weathergen.falcon.files.mission/value",-1307089913),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","vehicle-class","weathergen.falcon.files.mission/vehicle-class",-125275329),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","VEHICLE_GROUPS_PER_UNIT","weathergen.falcon.constants/VEHICLE_GROUPS_PER_UNIT",-1007019064,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29345){
return ((cljs.core.coll_QMARK_.call(null,G__29345)) && (cljs.core._EQ_.call(null,weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,cljs.core.bounded_count.call(null,weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,G__29345))));
}),new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","VEHICLE_GROUPS_PER_UNIT","c/VEHICLE_GROUPS_PER_UNIT",-1221930257,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","vehicle-class-data","weathergen.falcon.files.mission/vehicle-class-data",-131845879),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","VehicleClassData","weathergen.falcon.files.mission/VehicleClassData",-1424706508,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"VehicleClassData","VehicleClassData",-934147390,null),weathergen.falcon.files.mission.VehicleClassData,new cljs.core.PersistentArrayMap(null, 4, [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__29346){
return cljs.core.coll_QMARK_.call(null,G__29346);
}),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.falcon.files.mission","VehicleClassData","weathergen.falcon.files.mission/VehicleClassData",-1424706508,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","vehicle-data-index","weathergen.falcon.files.mission/vehicle-data-index",94274720),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","vehicle-type","weathergen.falcon.files.mission/vehicle-type",-1979309590),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","VEHICLE_GROUPS_PER_UNIT","weathergen.falcon.constants/VEHICLE_GROUPS_PER_UNIT",-1007019064,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29347){
return ((cljs.core.coll_QMARK_.call(null,G__29347)) && (cljs.core._EQ_.call(null,weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,cljs.core.bounded_count.call(null,weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,G__29347))));
}),new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","VEHICLE_GROUPS_PER_UNIT","c/VEHICLE_GROUPS_PER_UNIT",-1221930257,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("database","version","database/version",1963983397),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","version","weathergen.falcon.files.mission/version",926320952),new cljs.core.Symbol("weathergen.falcon.files.mission","Version","weathergen.falcon.files.mission/Version",-1394324279,null),weathergen.falcon.files.mission.Version);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","victory-conditions","weathergen.falcon.files.mission/victory-conditions",-320186067),new cljs.core.Symbol("weathergen.falcon.files.mission","VictoryConditions","weathergen.falcon.files.mission/VictoryConditions",1748746947,null),weathergen.falcon.files.mission.VictoryConditions);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","vis-type","weathergen.falcon.files.mission/vis-type",-790933497),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(7)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29348){
return ((cljs.core.coll_QMARK_.call(null,G__29348)) && (cljs.core._EQ_.call(null,(7),cljs.core.bounded_count.call(null,(7),G__29348))));
}),new cljs.core.Keyword(null,"count","count",2139924085),(7),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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),(7))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","visible-flags","weathergen.falcon.files.mission/visible-flags",1069257894),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","vu-class-data","weathergen.falcon.files.mission/vu-class-data",797628127),new cljs.core.Symbol("weathergen.falcon.files.mission","VuEntityFields","weathergen.falcon.files.mission/VuEntityFields",-436340301,null),weathergen.falcon.files.mission.VuEntityFields);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","waypoints","weathergen.falcon.files.mission/waypoints",712228162),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Waypoint","weathergen.falcon.files.mission/Waypoint",-1002339198,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"Waypoint","Waypoint",2042371604,null),weathergen.falcon.files.mission.Waypoint,new cljs.core.PersistentArrayMap(null, 4, [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__29349){
return cljs.core.coll_QMARK_.call(null,G__29349);
}),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.falcon.files.mission","Waypoint","weathergen.falcon.files.mission/Waypoint",-1002339198,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","weapon","weathergen.falcon.files.mission/weapon",1169121678),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","HARDPOINT_MAX","weathergen.falcon.constants/HARDPOINT_MAX",-1261939792,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29350){
return ((cljs.core.coll_QMARK_.call(null,G__29350)) && (cljs.core._EQ_.call(null,weathergen.falcon.constants.HARDPOINT_MAX,cljs.core.bounded_count.call(null,weathergen.falcon.constants.HARDPOINT_MAX,G__29350))));
}),new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.HARDPOINT_MAX,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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","HARDPOINT_MAX","c/HARDPOINT_MAX",-525891437,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("vehicle","weapons","vehicle/weapons",2115526130),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","HARDPOINT_MAX","weathergen.falcon.constants/HARDPOINT_MAX",-1261939792,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null, 5, [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__29351){
return ((cljs.core.coll_QMARK_.call(null,G__29351)) && (cljs.core._EQ_.call(null,weathergen.falcon.constants.HARDPOINT_MAX,cljs.core.bounded_count.call(null,weathergen.falcon.constants.HARDPOINT_MAX,G__29351))));
}),new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.HARDPOINT_MAX,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("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","HARDPOINT_MAX","c/HARDPOINT_MAX",-525891437,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","weapons","weathergen.falcon.files.mission/weapons",-176268464),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Weapon","weathergen.falcon.files.mission/Weapon",-673912717,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"Weapon","Weapon",705781241,null),weathergen.falcon.files.mission.Weapon,new cljs.core.PersistentArrayMap(null, 4, [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__29352){
return cljs.core.coll_QMARK_.call(null,G__29352);
}),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.falcon.files.mission","Weapon","weathergen.falcon.files.mission/Weapon",-673912717,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","weapon-class-data","weathergen.falcon.files.mission/weapon-class-data",-1245893783),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","WeaponClassData","weathergen.falcon.files.mission/WeaponClassData",494120455,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"WeaponClassData","WeaponClassData",-1173811055,null),weathergen.falcon.files.mission.WeaponClassData,new cljs.core.PersistentArrayMap(null, 4, [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__29353){
return cljs.core.coll_QMARK_.call(null,G__29353);
}),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.falcon.files.mission","WeaponClassData","weathergen.falcon.files.mission/WeaponClassData",494120455,null))], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","weather","weathergen.falcon.files.mission/weather",-1294003106),new cljs.core.Symbol("weathergen.falcon.files.mission","Weather","weathergen.falcon.files.mission/Weather",1677149497,null),weathergen.falcon.files.mission.Weather);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","weight","weathergen.falcon.files.mission/weight",167623877),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","who","weathergen.falcon.files.mission/who",1823833670),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","vs","weathergen.falcon.files.mission/vs",331200696),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),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.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078),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.falcon.files.mission","z","weathergen.falcon.files.mission/z",908766951),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);
/**
 * Given an entity, return its entry in the class table.
 */
weathergen.falcon.files.mission.class_table_entry = (function weathergen$falcon$files$mission$class_table_entry(mission,entity){
return cljs.core.nth.call(null,new cljs.core.Keyword(null,"class-table","class-table",207400992).cljs$core$IFn$_invoke$arity$1(mission),(new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125).cljs$core$IFn$_invoke$arity$1(entity) - weathergen.falcon.constants.VU_LAST_ENTITY_TYPE));
});
/**
 * Retrieves the unit class info (the most important elements of which
 *   are things like domain and type) for a given unit type.
 */
weathergen.falcon.files.mission.class_info = (function weathergen$falcon$files$mission$class_info(p__29354,type_id){
var map__29355 = p__29354;
var map__29355__$1 = (((((!((map__29355 == null))))?(((((map__29355.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29355.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29355):map__29355);
var mission = map__29355__$1;
var class_table = cljs.core.get.call(null,map__29355__$1,new cljs.core.Keyword(null,"class-table","class-table",207400992));
var class_entry = (function (){try{return cljs.core.nth.call(null,class_table,(type_id - weathergen.falcon.constants.VU_LAST_ENTITY_TYPE));
}catch (e29357){if((e29357 instanceof Error)){
var x = e29357;
throw cljs.core.ex_info.call(null,"class-info index out of bounds",new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"reason","reason",-2070751759),new cljs.core.Keyword(null,"index-out-of-bounds","index-out-of-bounds",-184027516),new cljs.core.Keyword("weathergen.falcon.files.mission","type-id","weathergen.falcon.files.mission/type-id",474269954),type_id,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),(type_id - weathergen.falcon.constants.VU_LAST_ENTITY_TYPE)], null));
} else {
throw e29357;

}
}})();
return new cljs.core.Keyword(null,"class-info","class-info",-467052058).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799).cljs$core$IFn$_invoke$arity$1(class_entry));
});
/**
 * Returns an objective's entry from the objectives class table.
 */
weathergen.falcon.files.mission.objective_class_entry = (function weathergen$falcon$files$mission$objective_class_entry(mission,objective){
return cljs.core.nth.call(null,new cljs.core.Keyword(null,"objective-class-data","objective-class-data",-2036255156).cljs$core$IFn$_invoke$arity$1(mission),new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.class_table_entry.call(null,mission,objective)));
});
/**
 * Returns a unit's entry from the unit class table.
 */
weathergen.falcon.files.mission.unit_class_entry = (function weathergen$falcon$files$mission$unit_class_entry(mission,unit){
return cljs.core.nth.call(null,new cljs.core.Keyword(null,"unit-class-data","unit-class-data",2122324209).cljs$core$IFn$_invoke$arity$1(mission),new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.class_table_entry.call(null,mission,unit)));
});
/**
 * Returns the class data entry of a weapon.
 */
weathergen.falcon.files.mission.weapon_class_entry = (function weathergen$falcon$files$mission$weapon_class_entry(mission,id){
var map__29358 = mission;
var map__29358__$1 = (((((!((map__29358 == null))))?(((((map__29358.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29358.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29358):map__29358);
var weapon_class_data = cljs.core.get.call(null,map__29358__$1,new cljs.core.Keyword(null,"weapon-class-data","weapon-class-data",-1828241433));
return cljs.core.nth.call(null,weapon_class_data,id);
});
/**
 * Returns the sim weapon data record for a given weapon.
 */
weathergen.falcon.files.mission.sim_weapon_data_entry = (function weathergen$falcon$files$mission$sim_weapon_data_entry(mission,weapon){
var _QMARK_ = weapon;
var _QMARK___$1 = new cljs.core.Keyword(null,"index","index",-1531685915).cljs$core$IFn$_invoke$arity$1(_QMARK_);
var _QMARK___$2 = cljs.core.nth.call(null,new cljs.core.Keyword(null,"class-table","class-table",207400992).cljs$core$IFn$_invoke$arity$1(mission),_QMARK___$1);
var _QMARK___$3 = new cljs.core.Keyword(null,"vehicle-data-index","vehicle-data-index",1750693686).cljs$core$IFn$_invoke$arity$1(_QMARK___$2);
return cljs.core.nth.call(null,new cljs.core.Keyword(null,"sim-weapon-data","sim-weapon-data",1516433194).cljs$core$IFn$_invoke$arity$1(mission),_QMARK___$3);
});
/**
 * Return a seq of the units in `mission` that are not inactive.
 */
weathergen.falcon.files.mission.active_units = (function weathergen$falcon$files$mission$active_units(mission){
return cljs.core.remove.call(null,(function (p1__29360_SHARP_){
return new cljs.core.Keyword(null,"inactive","inactive",-306247616).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"unit-flags","unit-flags",-1443684773).cljs$core$IFn$_invoke$arity$1(p1__29360_SHARP_));
}),new cljs.core.Keyword(null,"units","units",-533089095).cljs$core$IFn$_invoke$arity$1(mission));
});
/**
 * Given an objective, return its numeric type.
 */
weathergen.falcon.files.mission.objective_type = (function weathergen$falcon$files$mission$objective_type(mission,objective){
return new cljs.core.Keyword(null,"type","type",1174270348).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"class-info","class-info",-467052058).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.class_table_entry.call(null,mission,objective))));
});
/**
 * Given an objective, returns the name of its type. E.g. 'Bridge'.
 */
weathergen.falcon.files.mission.objective_type_name = (function weathergen$falcon$files$mission$objective_type_name(mission,objective){
return cljs.core.get_in.call(null,mission,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"strings","strings",-2055406807),new cljs.core.Keyword(null,"objective-type-names","objective-type-names",-2115502438),weathergen.falcon.files.mission.objective_type.call(null,mission,objective)], null));
});
/**
 * Find an objective by the criteria given, or nil if the item can't be found.
 */
weathergen.falcon.files.mission.find_objective = (function weathergen$falcon$files$mission$find_objective(mission,criteria,value){
var pred__29362 = cljs.core._EQ_;
var expr__29363 = criteria;
if(cljs.core.truth_(pred__29362.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),expr__29363))){
return cljs.core.first.call(null,cljs.core.filter.call(null,((function (pred__29362,expr__29363){
return (function (p1__29361_SHARP_){
return cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(p1__29361_SHARP_),value);
});})(pred__29362,expr__29363))
,new cljs.core.Keyword(null,"objectives","objectives",933939509).cljs$core$IFn$_invoke$arity$1(mission)));
} else {
throw (new Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__29363)].join('')));
}
});
/**
 * Find a unit by the criteria given, or nil if the item can't be found.
 */
weathergen.falcon.files.mission.find_unit = (function weathergen$falcon$files$mission$find_unit(mission,criteria,value){
var pred__29366 = cljs.core._EQ_;
var expr__29367 = criteria;
if(cljs.core.truth_(pred__29366.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),expr__29367))){
return cljs.core.first.call(null,cljs.core.filter.call(null,((function (pred__29366,expr__29367){
return (function (p1__29365_SHARP_){
return cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(p1__29365_SHARP_),value);
});})(pred__29366,expr__29367))
,weathergen.falcon.files.mission.active_units.call(null,mission)));
} else {
throw (new Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__29367)].join('')));
}
});
/**
 * Given a seq of units, return the one with the given id.
 */
weathergen.falcon.files.mission.unit_lookup_by_id = (function weathergen$falcon$files$mission$unit_lookup_by_id(units,id){
return cljs.core.some.call(null,(function (unit){
if(cljs.core._EQ_.call(null,id,new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(unit))){
return unit;
} else {
return null;
}
}),units);
});
/**
 * Returns the name of the given objective.
 */
weathergen.falcon.files.mission.objective_name = (function weathergen$falcon$files$mission$objective_name(mission,objective){
var map__29369 = mission;
var map__29369__$1 = (((((!((map__29369 == null))))?(((((map__29369.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29369.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29369):map__29369);
var class_table = cljs.core.get.call(null,map__29369__$1,new cljs.core.Keyword(null,"class-table","class-table",207400992));
var objective_class_data = cljs.core.get.call(null,map__29369__$1,new cljs.core.Keyword(null,"objective-class-data","objective-class-data",-2036255156));
var names = cljs.core.get.call(null,map__29369__$1,new cljs.core.Keyword(null,"names","names",-1943074658));
var strings = cljs.core.get.call(null,map__29369__$1,new cljs.core.Keyword(null,"strings","strings",-2055406807));
var name_id = new cljs.core.Keyword(null,"name-id","name-id",-279275372).cljs$core$IFn$_invoke$arity$1(objective);
if((name_id == null)){
return "N/A";
} else {
if((!((name_id === (0))))){
var or__4131__auto__ = names.call(null,name_id);
if(cljs.core.truth_(or__4131__auto__)){
return or__4131__auto__;
} else {
var or__4131__auto____$1 = new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975).cljs$core$IFn$_invoke$arity$1(objective);
if(cljs.core.truth_(or__4131__auto____$1)){
return or__4131__auto____$1;
} else {
return "Unnamed objective";
}
}
} else {
var temp__5718__auto__ = weathergen.falcon.files.mission.find_objective.call(null,mission,new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"parent","parent",-878878779).cljs$core$IFn$_invoke$arity$1(objective));
if(cljs.core.truth_(temp__5718__auto__)){
var parent = temp__5718__auto__;
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(names.call(null,new cljs.core.Keyword(null,"name-id","name-id",-279275372).cljs$core$IFn$_invoke$arity$1(parent)))," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.objective_type_name.call(null,mission,objective))].join('');
} else {
return names.call(null,(0));
}

}
}
});
/**
 * Returns the appropriate ordinal suffix for a given number. I.e. "st" for 1, to give "1st".
 */
weathergen.falcon.files.mission.ordinal_suffix = (function weathergen$falcon$files$mission$ordinal_suffix(mission,n){
var strings = new cljs.core.Keyword(null,"fn","fn",-1175266204).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"strings","strings",-2055406807).cljs$core$IFn$_invoke$arity$1(mission));
if(((cljs.core._EQ_.call(null,(1),cljs.core.mod.call(null,n,(10)))) && (cljs.core.not_EQ_.call(null,n,(11))))){
return strings.call(null,(15));
} else {
if(((cljs.core._EQ_.call(null,(2),cljs.core.mod.call(null,n,(10)))) && (cljs.core.not_EQ_.call(null,n,(12))))){
return strings.call(null,(16));
} else {
if(((cljs.core._EQ_.call(null,(3),cljs.core.mod.call(null,n,(10)))) && (cljs.core.not_EQ_.call(null,n,(13))))){
return strings.call(null,(17));
} else {
return strings.call(null,(18));

}
}
}
});
/**
 * Returns true if the coll1 and coll2 have corresponding elements
 *   equal, ignoring any excess.
 */
weathergen.falcon.files.mission.partial_EQ_ = (function weathergen$falcon$files$mission$partial_EQ_(coll1,coll2){
return cljs.core.every_QMARK_.call(null,cljs.core.identity,cljs.core.map.call(null,cljs.core._EQ_,coll1,coll2));
});
/**
 * Returns the size portion of a unit name
 */
weathergen.falcon.files.mission.get_size_name = (function weathergen$falcon$files$mission$get_size_name(mission,unit){
var map__29371 = unit;
var map__29371__$1 = (((((!((map__29371 == null))))?(((((map__29371.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29371.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29371):map__29371);
var type_id = cljs.core.get.call(null,map__29371__$1,new cljs.core.Keyword(null,"type-id","type-id",2030062700));
var map__29372 = weathergen.falcon.files.mission.class_info.call(null,mission,type_id);
var map__29372__$1 = (((((!((map__29372 == null))))?(((((map__29372.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29372.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29372):map__29372);
var type = cljs.core.get.call(null,map__29372__$1,new cljs.core.Keyword(null,"type","type",1174270348));
var domain = cljs.core.get.call(null,map__29372__$1,new cljs.core.Keyword(null,"domain","domain",1847214937));
var strings = new cljs.core.Keyword(null,"fn","fn",-1175266204).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"strings","strings",-2055406807).cljs$core$IFn$_invoke$arity$1(mission));
return strings.call(null,(function (){var pred__29375 = weathergen.falcon.files.mission.partial_EQ_;
var expr__29376 = new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [domain,type], null);
if(cljs.core.truth_(pred__29375.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.constants.DOMAIN_AIR,weathergen.falcon.constants.TYPE_SQUADRON], null),expr__29376))){
return (610);
} else {
if(cljs.core.truth_(pred__29375.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.constants.DOMAIN_AIR,weathergen.falcon.constants.TYPE_FLIGHT], null),expr__29376))){
return (611);
} else {
if(cljs.core.truth_(pred__29375.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.constants.DOMAIN_AIR,weathergen.falcon.constants.TYPE_PACKAGE], null),expr__29376))){
return (612);
} else {
if(cljs.core.truth_(pred__29375.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.constants.DOMAIN_LAND,weathergen.falcon.constants.TYPE_BRIGADE], null),expr__29376))){
return (614);
} else {
if(cljs.core.truth_(pred__29375.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.constants.DOMAIN_LAND,weathergen.falcon.constants.TYPE_BATTALION], null),expr__29376))){
return (615);
} else {
if(cljs.core.truth_(pred__29375.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.constants.DOMAIN_SEA], null),expr__29376))){
return (616);
} else {
return (617);
}
}
}
}
}
}
})());
});
/**
 * Returns a human-readable name for the given unit
 */
weathergen.falcon.files.mission.unit_name = (function weathergen$falcon$files$mission$unit_name(mission,unit){
var map__29378 = unit;
var map__29378__$1 = (((((!((map__29378 == null))))?(((((map__29378.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29378.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29378):map__29378);
var name_id = cljs.core.get.call(null,map__29378__$1,new cljs.core.Keyword(null,"name-id","name-id",-279275372));
var type_id = cljs.core.get.call(null,map__29378__$1,new cljs.core.Keyword(null,"type-id","type-id",2030062700));
var map__29379 = weathergen.falcon.files.mission.unit_class_entry.call(null,mission,unit);
var map__29379__$1 = (((((!((map__29379 == null))))?(((((map__29379.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29379.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29379):map__29379);
var name = cljs.core.get.call(null,map__29379__$1,new cljs.core.Keyword(null,"name","name",1843675177));
var map__29380 = weathergen.falcon.files.mission.class_info.call(null,mission,type_id);
var map__29380__$1 = (((((!((map__29380 == null))))?(((((map__29380.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29380.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29380):map__29380);
var ci = map__29380__$1;
var domain = cljs.core.get.call(null,map__29380__$1,new cljs.core.Keyword(null,"domain","domain",1847214937));
var type = cljs.core.get.call(null,map__29380__$1,new cljs.core.Keyword(null,"type","type",1174270348));
var strings = new cljs.core.Keyword(null,"fn","fn",-1175266204).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"strings","strings",-2055406807).cljs$core$IFn$_invoke$arity$1(mission));
var pred__29384 = cljs.core._EQ_;
var expr__29385 = new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [domain,type], null);
if(cljs.core.truth_(pred__29384.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.constants.DOMAIN_AIR,weathergen.falcon.constants.TYPE_FLIGHT], null),expr__29385))){
var map__29387 = unit;
var map__29387__$1 = (((((!((map__29387 == null))))?(((((map__29387.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29387.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29387):map__29387);
var callsign_id = cljs.core.get.call(null,map__29387__$1,new cljs.core.Keyword(null,"callsign-id","callsign-id",501232863));
var callsign_num = cljs.core.get.call(null,map__29387__$1,new cljs.core.Keyword(null,"callsign-num","callsign-num",-1771041170));
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(strings.call(null,(weathergen.falcon.constants.FIRST_CALLSIGN_ID + callsign_id)))," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(callsign_num)].join('');
} else {
if(cljs.core.truth_(pred__29384.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.constants.DOMAIN_AIR,weathergen.falcon.constants.TYPE_PACKAGE], null),expr__29385))){
var map__29389 = unit;
var map__29389__$1 = (((((!((map__29389 == null))))?(((((map__29389.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29389.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29389):map__29389);
var camp_id = cljs.core.get.call(null,map__29389__$1,new cljs.core.Keyword(null,"camp-id","camp-id",618705690));
return ["Package ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(camp_id)].join('');
} else {
var map__29391 = unit;
var map__29391__$1 = (((((!((map__29391 == null))))?(((((map__29391.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29391.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29391):map__29391);
var name_id__$1 = cljs.core.get.call(null,map__29391__$1,new cljs.core.Keyword(null,"name-id","name-id",-279275372));
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(name_id__$1),cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.ordinal_suffix.call(null,mission,name_id__$1))," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(name)," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.get_size_name.call(null,mission,unit))].join('');
}
}
});
weathergen.falcon.files.mission.vu_id = octet.core.spec.call(null,new cljs.core.Keyword(null,"name","name",1843675177),octet.core.uint32,new cljs.core.Keyword(null,"creator","creator",-1069241724),octet.core.uint32);
weathergen.falcon.files.mission.campaign_time = (function (){
if((typeof weathergen !== 'undefined') && (typeof weathergen.falcon !== 'undefined') && (typeof weathergen.falcon.files !== 'undefined') && (typeof weathergen.falcon.files.mission !== 'undefined') && (typeof weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393 !== 'undefined')){
} else {

/**
* @constructor
 * @implements {octet.spec.ISpec}
 * @implements {cljs.core.IMeta}
 * @implements {cljs.core.IWithMeta}
 * @implements {octet.spec.ISpecSize}
*/
weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393 = (function (meta29394){
this.meta29394 = meta29394;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_29395,meta29394__$1){
var self__ = this;
var _29395__$1 = this;
return (new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393(meta29394__$1));
});

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_29395){
var self__ = this;
var _29395__$1 = this;
return self__.meta29394;
});

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393.prototype.octet$spec$ISpecSize$ = cljs.core.PROTOCOL_SENTINEL;

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393.prototype.octet$spec$ISpecSize$size$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return octet.core.size.call(null,octet.core.uint32);
});

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393.prototype.octet$spec$ISpec$ = cljs.core.PROTOCOL_SENTINEL;

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393.prototype.octet$spec$ISpec$read$arity$3 = (function (_,buff,pos){
var self__ = this;
var ___$1 = this;
var vec__29396 = octet.core.read_STAR_.call(null,buff,octet.core.uint32,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"offset","offset",296498311),pos], null));
var size = cljs.core.nth.call(null,vec__29396,(0),null);
var data = cljs.core.nth.call(null,vec__29396,(1),null);
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [size,weathergen.time.ms__GT_campaign_time.call(null,data)], null);
});

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393.prototype.octet$spec$ISpec$write$arity$4 = (function (_,buff,pos,t){
var self__ = this;
var ___$1 = this;
return octet.core.write_BANG_.call(null,buff,octet.core.int32,weathergen.time.campaign_time__GT_ms.call(null,t));
});

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393.getBasis = (function (){
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"meta29394","meta29394",-379267409,null)], null);
});

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393.cljs$lang$type = true;

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393.cljs$lang$ctorStr = "weathergen.falcon.files.mission/t_weathergen$falcon$files$mission29393";

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393.cljs$lang$ctorPrWriter = (function (this__4374__auto__,writer__4375__auto__,opt__4376__auto__){
return cljs.core._write.call(null,writer__4375__auto__,"weathergen.falcon.files.mission/t_weathergen$falcon$files$mission29393");
});

/**
 * Positional factory function for weathergen.falcon.files.mission/t_weathergen$falcon$files$mission29393.
 */
weathergen.falcon.files.mission.__GT_t_weathergen$falcon$files$mission29393 = (function weathergen$falcon$files$mission$__GT_t_weathergen$falcon$files$mission29393(meta29394){
return (new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393(meta29394));
});

}

return (new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393(cljs.core.PersistentArrayMap.EMPTY));
})()
;
weathergen.falcon.files.mission.vector3 = octet.core.spec.call(null,new cljs.core.Keyword(null,"x","x",2099068185),octet.core.float$,new cljs.core.Keyword(null,"y","y",-1757859776),octet.core.float$,new cljs.core.Keyword(null,"z","z",-789527183),octet.core.float$);
weathergen.falcon.files.mission.vu_entity_fields = cljs.core.PersistentVector.fromArray([new cljs.core.Keyword(null,"id","id",-1388402092),octet.core.uint16,new cljs.core.Keyword(null,"collision-type","collision-type",1031477978),octet.core.uint16,new cljs.core.Keyword(null,"collision-radius","collision-radius",2064718833),octet.core.float$,new cljs.core.Keyword(null,"class-info","class-info",-467052058),octet.core.spec.call(null,new cljs.core.Keyword(null,"domain","domain",1847214937),octet.core.ubyte,new cljs.core.Keyword(null,"class","class",-2030961996),octet.core.ubyte,new cljs.core.Keyword(null,"type","type",1174270348),octet.core.ubyte,new cljs.core.Keyword(null,"stype","stype",-63678419),octet.core.ubyte,new cljs.core.Keyword(null,"sptype","sptype",-1425026030),octet.core.ubyte,new cljs.core.Keyword(null,"owner","owner",-392611939),octet.core.ubyte,new cljs.core.Keyword(null,"field6","field6",-1844847589),octet.core.ubyte,new cljs.core.Keyword(null,"field7","field7",-882507065),octet.core.ubyte),new cljs.core.Keyword(null,"update-rate","update-rate",549997679),octet.core.uint32,new cljs.core.Keyword(null,"update-tolerance","update-tolerance",1242588651),octet.core.uint32,new cljs.core.Keyword(null,"fine-update-range","fine-update-range",-2006748049),octet.core.float$,new cljs.core.Keyword(null,"fine-update-force-range","fine-update-force-range",-703217754),octet.core.float$,new cljs.core.Keyword(null,"fine-update-multiplier","fine-update-multiplier",1301129404),octet.core.float$,new cljs.core.Keyword(null,"damage-speed","damage-speed",1800211525),octet.core.uint32,new cljs.core.Keyword(null,"hitpoints","hitpoints",-575579159),octet.core.int32,new cljs.core.Keyword(null,"major-revision-number","major-revision-number",473159511),octet.core.uint16,new cljs.core.Keyword(null,"minor-revision-number","minor-revision-number",-358429843),octet.core.uint16,new cljs.core.Keyword(null,"create-priority","create-priority",-433275059),octet.core.uint16,new cljs.core.Keyword(null,"management-domain","management-domain",-382123626),octet.core.ubyte,new cljs.core.Keyword(null,"transferable","transferable",-243006862),octet.core.ubyte,new cljs.core.Keyword(null,"private","private",-558947994),octet.core.ubyte,new cljs.core.Keyword(null,"tangible","tangible",1450746508),octet.core.ubyte,new cljs.core.Keyword(null,"collidable","collidable",232142278),octet.core.ubyte,new cljs.core.Keyword(null,"global","global",93595047),octet.core.ubyte,new cljs.core.Keyword(null,"persistent","persistent",885415113),octet.core.ubyte,new cljs.core.Keyword(null,"padding","padding",1660304693),octet.core.repeat.call(null,(3),octet.core.byte$)], true);
weathergen.falcon.files.mission.falcon4_entity_fields = new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),cljs.core.apply.call(null,octet.core.spec,weathergen.falcon.files.mission.vu_entity_fields),new cljs.core.Keyword(null,"vis-type","vis-type",802477693),octet.core.repeat.call(null,(7),octet.core.int16),new cljs.core.Keyword(null,"vehicle-data-index","vehicle-data-index",1750693686),octet.core.int16,new cljs.core.Keyword(null,"data-type","data-type",-326421468),octet.core.ubyte,new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382),octet.core.int32], null);
weathergen.falcon.files.mission.camp_base_fields = new cljs.core.PersistentVector(null, 20, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"id","id",-1388402092),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125),octet.core.uint16,new cljs.core.Keyword(null,"x","x",2099068185),octet.core.int16,new cljs.core.Keyword(null,"y","y",-1757859776),octet.core.int16,new cljs.core.Keyword(null,"z","z",-789527183),octet.core.float$,new cljs.core.Keyword(null,"spot-time","spot-time",644875706),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"spotted","spotted",183372374),octet.core.int16,new cljs.core.Keyword(null,"base-flags","base-flags",-1180150392),octet.core.int16,new cljs.core.Keyword(null,"owner","owner",-392611939),octet.core.ubyte,new cljs.core.Keyword(null,"camp-id","camp-id",618705690),octet.core.int16], null);
/**
 * Given a directory with a `name`.idx and `name`.wch files, return a
 *   function that given an index that will yield the string at that
 *   index, or nil if the index is not in range.
 */
weathergen.falcon.files.mission.read_strings = (function weathergen$falcon$files$mission$read_strings(dir,name){
var idx_buf = weathergen.filesystem.file_buf.call(null,weathergen.filesystem.path_combine.call(null,dir,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(name),".idx"].join('')));
var _STAR_byte_order_STAR__orig_val__29399 = octet.buffer._STAR_byte_order_STAR_;
var _STAR_byte_order_STAR__temp_val__29400 = new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);
octet.buffer._STAR_byte_order_STAR_ = _STAR_byte_order_STAR__temp_val__29400;

try{var n = octet.core.read.call(null,idx_buf,octet.core.uint16);
var indices = octet.core.read.call(null,idx_buf,octet.core.repeat.call(null,n,octet.core.uint16),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"offset","offset",296498311),(2)], null));
var strings = weathergen.filesystem.file_text.call(null,weathergen.filesystem.path_combine.call(null,dir,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(name),".wch"].join('')));
return ((function (n,indices,strings,_STAR_byte_order_STAR__orig_val__29399,_STAR_byte_order_STAR__temp_val__29400,idx_buf){
return (function (idx){
if((idx < (n - (1)))){
return cljs.core.subs.call(null,strings,cljs.core.nth.call(null,indices,idx),((cljs.core._EQ_.call(null,idx,(n - (1))))?cljs.core.count.call(null,strings):cljs.core.nth.call(null,indices,(idx + (1)))));
} else {
return null;
}
});
;})(n,indices,strings,_STAR_byte_order_STAR__orig_val__29399,_STAR_byte_order_STAR__temp_val__29400,idx_buf))
}finally {octet.buffer._STAR_byte_order_STAR_ = _STAR_byte_order_STAR__orig_val__29399;
}});
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","read-strings-file","weathergen.falcon.files.mission/read-strings-file",1567947333,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,"campaign-dir","campaign-dir",-1278307883),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("weathergen.falcon.files.mission","StringsData","weathergen.falcon.files.mission/StringsData",-1847078139,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,"campaign-dir","campaign-dir",-1278307883),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,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,"campaign-dir","campaign-dir",-1278307883)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.Dir], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,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,"campaign-dir","campaign-dir",-1278307883),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null)),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","StringsData","weathergen.falcon.files.mission/StringsData",-1847078139,null),weathergen.falcon.files.mission.StringsData,null,null),new cljs.core.Symbol("weathergen.falcon.files.mission","StringsData","weathergen.falcon.files.mission/StringsData",-1847078139,null),null,null,null));
/**
 * Reads the strings.idx/wch file from the campaign directory and
 *   returns a map with the strings data. Also returns, under the `:fn`
 *   key, a function that will read any string given its index .
 */
weathergen.falcon.files.mission.read_strings_file = (function weathergen$falcon$files$mission$read_strings_file(campaign_dir){
var strings = weathergen.falcon.files.mission.read_strings.call(null,campaign_dir,"strings");
var indexed = ((function (strings){
return (function (start,count){
return cljs.core.into.call(null,cljs.core.sorted_map.call(null),cljs.core.map_indexed.call(null,cljs.core.vector,cljs.core.map.call(null,strings,cljs.core.range.call(null,start,(start + count)))));
});})(strings))
;
return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"country-names","country-names",-1652413855),new cljs.core.Keyword(null,"fn","fn",-1175266204),new cljs.core.Keyword(null,"ground-stype-names","ground-stype-names",-543566554),new cljs.core.Keyword(null,"air-stype-names","air-stype-names",-1744167443),new cljs.core.Keyword(null,"time-compression-names","time-compression-names",-311196976),new cljs.core.Keyword(null,"unit-name-format","unit-name-format",-1907370252),new cljs.core.Keyword(null,"waypoint-type-names","waypoint-type-names",719960758),new cljs.core.Keyword(null,"objective-type-names","objective-type-names",-2115502438),new cljs.core.Keyword(null,"camera-label-names","camera-label-names",-192056963),new cljs.core.Keyword(null,"mission-type-names","mission-type-names",-1426382657),new cljs.core.Keyword(null,"naval-stype-names","naval-stype-names",140822175)],[indexed.call(null,(40),weathergen.falcon.constants.NUM_COUNS),strings,indexed.call(null,(560),(20)),indexed.call(null,(540),(20)),indexed.call(null,(75),(5)),strings.call(null,(58)),indexed.call(null,(350),weathergen.falcon.constants.WP_LAST),indexed.call(null,(500),weathergen.falcon.constants.MAXIMUM_OBJTYPES),indexed.call(null,(60),weathergen.falcon.constants.NUM_CAMERA_LABELS),indexed.call(null,(300),weathergen.falcon.constants.AMIS_OTHER),indexed.call(null,(580),(20))]);
});
weathergen.falcon.files.mission.unit_class_data = octet.core.spec.call(null,new cljs.core.Keyword(null,"index","index",-1531685915),octet.core.int32,new cljs.core.Keyword(null,"num-elements","num-elements",1960422107),octet.core.repeat.call(null,weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,octet.core.int32),new cljs.core.Keyword(null,"vehicle-type","vehicle-type",-362045068),octet.core.repeat.call(null,weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,octet.core.int16),new cljs.core.Keyword(null,"vehicle-class","vehicle-class",-1789622839),octet.core.repeat.call(null,weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,octet.core.repeat.call(null,(8),octet.core.ubyte)),new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.uint16,new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.fixed_string.call(null,(20)),new cljs.core.Keyword(null,"padding","padding",1660304693),octet.core.int16,new cljs.core.Keyword(null,"movement-type","movement-type",-1340819145),octet.core.int32,new cljs.core.Keyword(null,"movement-speed","movement-speed",-1779674971),octet.core.int16,new cljs.core.Keyword(null,"max-range","max-range",623016397),octet.core.int16,new cljs.core.Keyword(null,"fuel","fuel",10405485),octet.core.int32,new cljs.core.Keyword(null,"rate","rate",-1428659698),octet.core.int16,new cljs.core.Keyword(null,"pt-data-index","pt-data-index",-54255967),octet.core.int16,new cljs.core.Keyword(null,"scores","scores",-1267421800),octet.core.repeat.call(null,weathergen.falcon.constants.MAXIMUM_ROLES,octet.core.ubyte),new cljs.core.Keyword(null,"role","role",-736691072),octet.core.ubyte,new cljs.core.Keyword(null,"hit-chance","hit-chance",-2087636980),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"strength","strength",-415606478),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"range","range",1639692286),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"detection","detection",-1580072483),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116),octet.core.repeat.call(null,(weathergen.falcon.constants.OtherDam + (1)),octet.core.ubyte),new cljs.core.Keyword(null,"radar-vehicle","radar-vehicle",-457407214),octet.core.ubyte,new cljs.core.Keyword(null,"padding2","padding2",1017532826),octet.core.byte$,new cljs.core.Keyword(null,"special-index","special-index",-545525937),octet.core.int16,new cljs.core.Keyword(null,"icon-index","icon-index",-42714286),octet.core.uint16,new cljs.core.Keyword(null,"padding3","padding3",358697252),octet.core.repeat.call(null,(2),octet.core.byte$));
weathergen.falcon.files.mission.objective_class_data = octet.core.spec.call(null,new cljs.core.Keyword(null,"index","index",-1531685915),octet.core.int16,new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.fixed_string.call(null,(20)),new cljs.core.Keyword(null,"data-rate","data-rate",-1399941497),octet.core.int16,new cljs.core.Keyword(null,"deag-distance","deag-distance",-1721226571),octet.core.int16,new cljs.core.Keyword(null,"pt-data-index","pt-data-index",-54255967),octet.core.int16,new cljs.core.Keyword(null,"detection","detection",-1580072483),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116),octet.core.repeat.call(null,(weathergen.falcon.constants.OtherDam + (1)),octet.core.ubyte),new cljs.core.Keyword(null,"mystery","mystery",-686775643),octet.core.ubyte,new cljs.core.Keyword(null,"icon-index","icon-index",-42714286),octet.core.uint16,new cljs.core.Keyword(null,"features","features",-1146962336),octet.core.ubyte,new cljs.core.Keyword(null,"radar-feature","radar-feature",2111876796),octet.core.ubyte,new cljs.core.Keyword(null,"first-feature","first-feature",-1395776257),octet.core.int16);
weathergen.falcon.files.mission.vehicle_class_data = octet.core.spec.call(null,new cljs.core.Keyword(null,"index","index",-1531685915),octet.core.int16,new cljs.core.Keyword(null,"hit-points","hit-points",-906296276),octet.core.int16,new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.uint32,new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.fixed_string.call(null,(15)),new cljs.core.Keyword(null,"nctr","nctr",1306882980),weathergen.falcon.files.fixed_string.call(null,(5)),new cljs.core.Keyword(null,"rcs-factor","rcs-factor",-693378533),octet.core.float$,new cljs.core.Keyword(null,"max-wt","max-wt",220395483),octet.core.int32,new cljs.core.Keyword(null,"empty-wt","empty-wt",1037790536),octet.core.int32,new cljs.core.Keyword(null,"fuel-wt","fuel-wt",-1341155598),octet.core.int32,new cljs.core.Keyword(null,"fuel-econ","fuel-econ",-1774342065),octet.core.int16,new cljs.core.Keyword(null,"engine-sound","engine-sound",-1018050458),octet.core.int16,new cljs.core.Keyword(null,"high-alt","high-alt",-1378024467),octet.core.int16,new cljs.core.Keyword(null,"low-alt","low-alt",-228079593),octet.core.int16,new cljs.core.Keyword(null,"cruise-alt","cruise-alt",2005550721),octet.core.int16,new cljs.core.Keyword(null,"max-speed","max-speed",-997417461),octet.core.int16,new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362),octet.core.int16,new cljs.core.Keyword(null,"number-of-pilots","number-of-pilots",-393973473),octet.core.int16,new cljs.core.Keyword(null,"rack-flags","rack-flags",-1071125122),octet.core.uint16,new cljs.core.Keyword(null,"visible-flags","visible-flags",1830152500),octet.core.uint16,new cljs.core.Keyword(null,"callsign-index","callsign-index",-2090912473),octet.core.ubyte,new cljs.core.Keyword(null,"callsign-slots","callsign-slots",-1388847774),octet.core.ubyte,new cljs.core.Keyword(null,"hit-chance","hit-chance",-2087636980),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"strength","strength",-415606478),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"range","range",1639692286),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"detection","detection",-1580072483),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"weapon","weapon",-504830232),octet.core.repeat.call(null,weathergen.falcon.constants.HARDPOINT_MAX,octet.core.int16),new cljs.core.Keyword(null,"weapons","weapons",-1983639898),octet.core.repeat.call(null,weathergen.falcon.constants.HARDPOINT_MAX,octet.core.ubyte),new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116),octet.core.repeat.call(null,(weathergen.falcon.constants.OtherDam + (1)),octet.core.ubyte),new cljs.core.Keyword(null,"mystery","mystery",-686775643),octet.core.repeat.call(null,(3),octet.core.ubyte));
weathergen.falcon.files.mission.weapon_class_data = octet.core.spec.call(null,new cljs.core.Keyword(null,"index","index",-1531685915),octet.core.int16,new cljs.core.Keyword(null,"strength","strength",-415606478),octet.core.uint16,new cljs.core.Keyword(null,"damage-type","damage-type",898770578),octet.core.uint16,new cljs.core.Keyword(null,"padding","padding",1660304693),octet.core.repeat.call(null,(2),octet.core.ubyte),new cljs.core.Keyword(null,"range","range",1639692286),octet.core.int16,new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.uint16,new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.fixed_string.call(null,(20)),new cljs.core.Keyword(null,"hit-chance","hit-chance",-2087636980),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"fire-rate","fire-rate",-1458689931),octet.core.ubyte,new cljs.core.Keyword(null,"rariety","rariety",1749498612),octet.core.ubyte,new cljs.core.Keyword(null,"guidance-flags","guidance-flags",343892844),octet.core.uint16,new cljs.core.Keyword(null,"collective","collective",-1678283599),octet.core.ubyte,new cljs.core.Keyword(null,"padding2","padding2",1017532826),octet.core.ubyte,new cljs.core.Keyword(null,"simweap-index","simweap-index",1674222081),octet.core.int16,new cljs.core.Keyword(null,"drag-index","drag-index",-207918117),octet.core.int16,new cljs.core.Keyword(null,"blast-radius","blast-radius",796954270),octet.core.uint16,new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362),octet.core.int16,new cljs.core.Keyword(null,"sim-data-idx","sim-data-idx",-713604174),octet.core.int16,new cljs.core.Keyword(null,"max-alt","max-alt",-363233306),octet.core.byte$,new cljs.core.Keyword(null,"padding3","padding3",358697252),octet.core.ubyte,new cljs.core.Keyword(null,"weight","weight",-1262796205),octet.core.uint16);
weathergen.falcon.files.mission.feature_class_data = octet.core.spec.call(null,new cljs.core.Keyword(null,"index","index",-1531685915),octet.core.int16,new cljs.core.Keyword(null,"repair-time","repair-time",699642051),octet.core.int16,new cljs.core.Keyword(null,"priority","priority",1431093715),octet.core.byte$,new cljs.core.Keyword(null,"padding1","padding1",-1028565124),octet.core.byte$,new cljs.core.Keyword(null,"flags","flags",1775418075),weathergen.falcon.files.bitflags.call(null,octet.core.uint16,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"flat-container?","flat-container?",800182786),new cljs.core.Keyword(null,"virtual?","virtual?",1554264002),new cljs.core.Keyword(null,"no-hiteval?","no-hiteval?",1435499525),new cljs.core.Keyword(null,"has-light-switch?","has-light-switch?",1364731174),new cljs.core.Keyword(null,"can-explode?","can-explode?",-953118361),new cljs.core.Keyword(null,"repairable?","repairable?",-1497079735),new cljs.core.Keyword(null,"can-collapse?","can-collapse?",-774850903),new cljs.core.Keyword(null,"can-burn?","can-burn?",-420115087),new cljs.core.Keyword(null,"has-smoke-stack?","has-smoke-stack?",118474513),new cljs.core.Keyword(null,"container-top?","container-top?",-676665355),new cljs.core.Keyword(null,"next-is-top?","next-is-top?",-1041568648),new cljs.core.Keyword(null,"elevated-container?","elevated-container?",-588974690)],[weathergen.falcon.constants.FEAT_FLAT_CONTAINER,weathergen.falcon.constants.FEAT_VIRTUAL,weathergen.falcon.constants.FEAT_NO_HITEVAL,weathergen.falcon.constants.FEAT_HAS_LIGHT_SWITCH,weathergen.falcon.constants.FEAT_CAN_EXPLODE,weathergen.falcon.constants.FEAT_EREPAIR,weathergen.falcon.constants.FEAT_CAN_COLAPSE,weathergen.falcon.constants.FEAT_CAN_BURN,weathergen.falcon.constants.FEAT_HAS_SMOKE_STACK,weathergen.falcon.constants.FEAT_CONTAINER_TOP,weathergen.falcon.constants.FEAT_NEXT_IS_TOP,weathergen.falcon.constants.FEAT_ELEV_CONTAINER])),new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.fixed_string.call(null,(20)),new cljs.core.Keyword(null,"hit-points","hit-points",-906296276),octet.core.int16,new cljs.core.Keyword(null,"height","height",1025178622),octet.core.int16,new cljs.core.Keyword(null,"angle","angle",1622094254),octet.core.float$,new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362),octet.core.int16,new cljs.core.Keyword(null,"detection","detection",-1580072483),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116),octet.core.repeat.call(null,(weathergen.falcon.constants.OtherDam + (1)),octet.core.ubyte),new cljs.core.Keyword(null,"padding2","padding2",1017532826),octet.core.repeat.call(null,(3),octet.core.ubyte));
weathergen.falcon.files.mission.feature_entry_data = octet.core.spec.call(null,new cljs.core.Keyword(null,"index","index",-1531685915),octet.core.int16,new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.uint16,new cljs.core.Keyword(null,"entity-class","entity-class",-1906919579),octet.core.repeat.call(null,(8),octet.core.ubyte),new cljs.core.Keyword(null,"value","value",305978217),octet.core.ubyte,new cljs.core.Keyword(null,"padding1","padding1",-1028565124),octet.core.repeat.call(null,(3),octet.core.byte$),new cljs.core.Keyword(null,"offset","offset",296498311),weathergen.falcon.files.mission.vector3,new cljs.core.Keyword(null,"facing","facing",-854439413),octet.core.int16,new cljs.core.Keyword(null,"padding2","padding2",1017532826),octet.core.repeat.call(null,(2),octet.core.byte$));
weathergen.falcon.files.mission.point_header_data = octet.core.spec.call(null,new cljs.core.Keyword(null,"obj-id","obj-id",1871733713),octet.core.int16,new cljs.core.Keyword(null,"type","type",1174270348),octet.core.ubyte,new cljs.core.Keyword(null,"count","count",2139924085),octet.core.ubyte,new cljs.core.Keyword(null,"features","features",-1146962336),octet.core.repeat.call(null,weathergen.falcon.constants.MAX_FEAT_DEPEND,octet.core.ubyte),new cljs.core.Keyword(null,"padding","padding",1660304693),octet.core.byte$,new cljs.core.Keyword(null,"data","data",-232669377),octet.core.int16,new cljs.core.Keyword(null,"sin-heading","sin-heading",-1506379307),octet.core.float$,new cljs.core.Keyword(null,"cos-heading","cos-heading",-514525192),octet.core.float$,new cljs.core.Keyword(null,"first","first",-644103046),octet.core.int16,new cljs.core.Keyword(null,"tex-idx","tex-idx",1332437579),octet.core.int16,new cljs.core.Keyword(null,"runway-num","runway-num",-1171395800),octet.core.byte$,new cljs.core.Keyword(null,"ltrt","ltrt",2069439),octet.core.byte$,new cljs.core.Keyword(null,"next-header","next-header",1386001069),octet.core.int16);
weathergen.falcon.files.mission.sim_weapon_data = octet.core.spec.call(null,new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.int32,new cljs.core.Keyword(null,"drag-coefficient","drag-coefficient",238594160),octet.core.float$,new cljs.core.Keyword(null,"weight","weight",-1262796205),octet.core.float$,new cljs.core.Keyword(null,"surface-area","surface-area",1472501650),octet.core.float$,new cljs.core.Keyword(null,"ejection-velocity","ejection-velocity",241121939),octet.core.spec.call(null,new cljs.core.Keyword(null,"x","x",2099068185),octet.core.float$,new cljs.core.Keyword(null,"y","y",-1757859776),octet.core.float$,new cljs.core.Keyword(null,"z","z",-789527183),octet.core.float$),new cljs.core.Keyword(null,"sms-mnemonic","sms-mnemonic",944316914),weathergen.falcon.files.fixed_string.call(null,(8)),new cljs.core.Keyword(null,"sms-weapon-class","sms-weapon-class",-1204089300),octet.core.int32,new cljs.core.Keyword(null,"sms-weapon-domain","sms-weapon-domain",170252511),octet.core.int32,new cljs.core.Keyword(null,"sms-weapon-type","sms-weapon-type",-302839052),octet.core.int32,new cljs.core.Keyword(null,"data-index","data-index",1161508385),octet.core.int32);
weathergen.falcon.files.mission.extension = (function weathergen$falcon$files$mission$extension(file_name){
var i = clojure.string.last_index_of.call(null,file_name,".");
return cljs.core.subs.call(null,file_name,i);
});
weathergen.falcon.files.mission.file_types = cljs.core.PersistentHashMap.fromArrays([".PLT",".OBD",".UNI",".PST",".VER",".POL",".TE",".EVT",".CMP",".TEA",".WTH",".OBJ"],[new cljs.core.Keyword(null,"pilots","pilots",353525853),new cljs.core.Keyword(null,"objective-deltas","objective-deltas",710518611),new cljs.core.Keyword(null,"units","units",-533089095),new cljs.core.Keyword(null,"persistent-objects","persistent-objects",137656263),new cljs.core.Keyword(null,"version","version",425292698),new cljs.core.Keyword(null,"primary-objectives","primary-objectives",-2010039039),new cljs.core.Keyword(null,"victory-conditions","victory-conditions",-1943285833),new cljs.core.Keyword(null,"events","events",1792552201),new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966),new cljs.core.Keyword(null,"teams","teams",1677714510),new cljs.core.Keyword(null,"weather","weather",1320452344),new cljs.core.Keyword(null,"objectives","objectives",933939509)]);
weathergen.falcon.files.mission.file_type = (function weathergen$falcon$files$mission$file_type(file_name){
return cljs.core.get.call(null,weathergen.falcon.files.mission.file_types,clojure.string.upper_case.call(null,weathergen.falcon.files.mission.extension.call(null,file_name)),new cljs.core.Keyword(null,"unknown","unknown",-935977881));
});
weathergen.falcon.files.mission.file_type_description = cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"primary-objectives","primary-objectives",-2010039039),new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966),new cljs.core.Keyword(null,"persistent-objects","persistent-objects",137656263),new cljs.core.Keyword(null,"events","events",1792552201),new cljs.core.Keyword(null,"teams","teams",1677714510),new cljs.core.Keyword(null,"objective-deltas","objective-deltas",710518611),new cljs.core.Keyword(null,"objectives","objectives",933939509),new cljs.core.Keyword(null,"victory-conditions","victory-conditions",-1943285833),new cljs.core.Keyword(null,"weather","weather",1320452344),new cljs.core.Keyword(null,"units","units",-533089095),new cljs.core.Keyword(null,"version","version",425292698),new cljs.core.Keyword(null,"pilots","pilots",353525853)],["primary objectives","campaign info","persistent objects","events","teams","objective deltas","objectives","victory conditions","weather","units","version","pilots"]);
if((typeof weathergen !== 'undefined') && (typeof weathergen.falcon !== 'undefined') && (typeof weathergen.falcon.files !== 'undefined') && (typeof weathergen.falcon.files.mission !== 'undefined') && (typeof weathergen.falcon.files.mission.read_embedded_file_STAR_ !== 'undefined')){
} else {
weathergen.falcon.files.mission.read_embedded_file_STAR_ = (function (){var method_table__4613__auto__ = cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY);
var prefer_table__4614__auto__ = cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY);
var method_cache__4615__auto__ = cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY);
var cached_hierarchy__4616__auto__ = cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY);
var hierarchy__4617__auto__ = cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));
return (new cljs.core.MultiFn(cljs.core.symbol.call(null,"weathergen.falcon.files.mission","read-embedded-file*"),((function (method_table__4613__auto__,prefer_table__4614__auto__,method_cache__4615__auto__,cached_hierarchy__4616__auto__,hierarchy__4617__auto__){
return (function (type,entry,buf,database){
return type;
});})(method_table__4613__auto__,prefer_table__4614__auto__,method_cache__4615__auto__,cached_hierarchy__4616__auto__,hierarchy__4617__auto__))
,new cljs.core.Keyword(null,"default","default",-1987822328),hierarchy__4617__auto__,method_table__4613__auto__,prefer_table__4614__auto__,method_cache__4615__auto__,cached_hierarchy__4616__auto__));
})();
}
weathergen.falcon.files.mission.read_embedded_file = (function weathergen$falcon$files$mission$read_embedded_file(type,entry,buf,database){
taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.falcon.files.mission",null,1815,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),(new cljs.core.Delay((function (){
return new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, ["read-embedded-file",new cljs.core.Keyword(null,"type","type",1174270348),type,new cljs.core.Keyword(null,"file-name","file-name",-1654217259),new cljs.core.Keyword(null,"file-name","file-name",-1654217259).cljs$core$IFn$_invoke$arity$1(entry)], null);
}),null)),null,-500769366);

return weathergen.progress.with_step.call(null,["Reading ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,weathergen.falcon.files.mission.file_type_description,type,"data"))].join(''),(function (){
return weathergen.falcon.files.mission.read_embedded_file_STAR_.call(null,type,entry,buf,database);
}));
});
weathergen.falcon.files.mission.directory_entry = octet.core.spec.call(null,new cljs.core.Keyword(null,"file-name","file-name",-1654217259),weathergen.falcon.files.lstring.call(null,octet.core.ubyte),new cljs.core.Keyword(null,"offset","offset",296498311),octet.core.uint32,new cljs.core.Keyword(null,"length","length",588987862),octet.core.uint32);
/**
 * Given a path somewhere in the filesystem, figure out which theater
 *   it's in and return a map describing it.
 */
weathergen.falcon.files.mission.find_install_dir = (function weathergen$falcon$files$mission$find_install_dir(path){
var dir = weathergen.filesystem.parent.call(null,path);
while(true){
if(cljs.core.truth_(dir)){
if(cljs.core.every_QMARK_.call(null,((function (dir){
return (function (p1__29401_SHARP_){
return weathergen.filesystem.exists_QMARK_.call(null,weathergen.filesystem.path_combine.call(null,dir,p1__29401_SHARP_));
});})(dir))
,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, ["Bin","Data","Tools","User"], null))){
return dir;
} else {
var G__29402 = weathergen.filesystem.parent.call(null,dir);
dir = G__29402;
continue;
}
} else {
return null;
}
break;
}
});
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","campaign-dir","weathergen.falcon.files.mission/campaign-dir",-221145694,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","alt","cljs.spec.alpha/alt",-2130750332,null),new cljs.core.Keyword(null,"single-arity","single-arity",612091991),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"mission","mission",1740288522),new cljs.core.Symbol("weathergen.falcon.files.mission","Todo","weathergen.falcon.files.mission/Todo",-2032630604,null)),new cljs.core.Keyword(null,"two-arity","two-arity",599354659),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Keyword(null,"theater","theater",258922071),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null))),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,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","alt","cljs.spec.alpha/alt",-2130750332,null),new cljs.core.Keyword(null,"single-arity","single-arity",612091991),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"mission","mission",1740288522),new cljs.core.Symbol("weathergen.falcon.files.mission","Todo","weathergen.falcon.files.mission/Todo",-2032630604,null)),new cljs.core.Keyword(null,"two-arity","two-arity",599354659),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Keyword(null,"theater","theater",258922071),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null))),cljs.spec.alpha.alt_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"single-arity","single-arity",612091991),new cljs.core.Keyword(null,"two-arity","two-arity",599354659)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"mission","mission",1740288522)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.Todo], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","Todo","weathergen.falcon.files.mission/Todo",-2032630604,null)], null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Keyword(null,"theater","theater",258922071)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.Installation,weathergen.falcon.files.mission.Theater], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null)], null))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"mission","mission",1740288522),new cljs.core.Symbol("weathergen.falcon.files.mission","Todo","weathergen.falcon.files.mission/Todo",-2032630604,null)),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Keyword(null,"theater","theater",258922071),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null))], null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","alt","cljs.spec.alpha/alt",-2130750332,null),new cljs.core.Keyword(null,"single-arity","single-arity",612091991),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"mission","mission",1740288522),new cljs.core.Symbol("weathergen.falcon.files.mission","Todo","weathergen.falcon.files.mission/Todo",-2032630604,null)),new cljs.core.Keyword(null,"two-arity","two-arity",599354659),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Keyword(null,"theater","theater",258922071),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null))),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),weathergen.falcon.files.mission.Dir,null,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),null,null,null));
/**
 * Return the path to the campaign directory.
 */
weathergen.falcon.files.mission.campaign_dir = (function weathergen$falcon$files$mission$campaign_dir(var_args){
var G__29404 = arguments.length;
switch (G__29404) {
case 1:
return weathergen.falcon.files.mission.campaign_dir.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));

break;
case 2:
return weathergen.falcon.files.mission.campaign_dir.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));

break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));

}
});

weathergen.falcon.files.mission.campaign_dir.cljs$core$IFn$_invoke$arity$1 = (function (mission){
var map__29405 = mission;
var map__29405__$1 = (((((!((map__29405 == null))))?(((((map__29405.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29405.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29405):map__29405);
var installation = cljs.core.get.call(null,map__29405__$1,new cljs.core.Keyword(null,"installation","installation",943147954));
var theater = cljs.core.get.call(null,map__29405__$1,new cljs.core.Keyword(null,"theater","theater",258922071));
return weathergen.falcon.files.mission.campaign_dir.call(null,installation,theater);
});

weathergen.falcon.files.mission.campaign_dir.cljs$core$IFn$_invoke$arity$2 = (function (installation,theater){
return weathergen.filesystem.path_combine.call(null,new cljs.core.Keyword(null,"data-dir","data-dir",2038801936).cljs$core$IFn$_invoke$arity$1(installation),new cljs.core.Keyword(null,"campaign-dir","campaign-dir",-1278307883).cljs$core$IFn$_invoke$arity$1(theater));
});

weathergen.falcon.files.mission.campaign_dir.cljs$lang$maxFixedArity = 2;

/**
 * Return the path to the objects directory.
 */
weathergen.falcon.files.mission.object_dir = (function weathergen$falcon$files$mission$object_dir(installation,theater){
return weathergen.filesystem.path_combine.call(null,new cljs.core.Keyword(null,"data-dir","data-dir",2038801936).cljs$core$IFn$_invoke$arity$1(installation),(function (){var or__4131__auto__ = new cljs.core.Keyword(null,"object-dir","object-dir",-2124784896).cljs$core$IFn$_invoke$arity$1(theater);
if(cljs.core.truth_(or__4131__auto__)){
return or__4131__auto__;
} else {
return new cljs.core.Keyword(null,"object-dir","object-dir",-2124784896).cljs$core$IFn$_invoke$arity$1(installation);
}
})());
});
/**
 * Parse a line from the theater.tdf file.
 */
weathergen.falcon.files.mission.parse_theater_def_line = (function weathergen$falcon$files$mission$parse_theater_def_line(line){
var temp__5718__auto__ = clojure.string.index_of.call(null,line," ");
if(cljs.core.truth_(temp__5718__auto__)){
var idx = temp__5718__auto__;
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.keyword.call(null,cljs.core.subs.call(null,line,(0),idx)),cljs.core.subs.call(null,line,(idx + (1)))], null);
} else {
return null;
}
});
/**
 * Fix up the art directory, since KTO is special - all other theaters
 *   don't include the Art subdirectory in the path. Which is nonsense.
 *   So we add it.
 */
weathergen.falcon.files.mission.adjust_art_dir = (function weathergen$falcon$files$mission$adjust_art_dir(theater){
var G__29408 = theater;
if(cljs.core.not_EQ_.call(null,clojure.string.lower_case.call(null,new cljs.core.Keyword(null,"art-dir","art-dir",67381390).cljs$core$IFn$_invoke$arity$1(theater)),"art")){
return cljs.core.update.call(null,G__29408,new cljs.core.Keyword(null,"art-dir","art-dir",67381390),weathergen.filesystem.path_combine,"Art");
} else {
return G__29408;
}
});
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","read-theater-def","weathergen.falcon.files.mission/read-theater-def",-2031492952,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,"data-dir","data-dir",2038801936),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,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,"data-dir","data-dir",2038801936),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"data-dir","data-dir",2038801936),new cljs.core.Keyword(null,"path","path",-188191168)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.Dir,weathergen.falcon.files.mission.Path], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,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,"data-dir","data-dir",2038801936),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null)),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null),weathergen.falcon.files.mission.Theater,null,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null),null,null,null));
/**
 * Reads the theater TDF from the given path, relative to `data-dir`.
 */
weathergen.falcon.files.mission.read_theater_def = (function weathergen$falcon$files$mission$read_theater_def(data_dir,path){
var defpath = weathergen.filesystem.path_combine.call(null,data_dir,path);
if(cljs.core.not.call(null,weathergen.filesystem.exists_QMARK_.call(null,defpath))){
var msg = ["Can't find theater definition at ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(defpath),". Ignoring theater."].join('');
taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"warn","warn",-436710552),"weathergen.falcon.files.mission",null,1890,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),(new cljs.core.Delay(((function (msg,defpath){
return (function (){
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [msg], null);
});})(msg,defpath))
,null)),null,-323191694);

weathergen.progress.step_warn.call(null,msg);

return null;
} else {
var d = cljs.core.into.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"path","path",-188191168),path], null),cljs.core.map.call(null,weathergen.falcon.files.mission.parse_theater_def_line,cljs.core.remove.call(null,((function (defpath){
return (function (p1__29409_SHARP_){
return p1__29409_SHARP_.startsWith("#");
});})(defpath))
,cljs.core.remove.call(null,clojure.string.blank_QMARK_,cljs.core.map.call(null,clojure.string.trim,clojure.string.split_lines.call(null,weathergen.filesystem.file_text.call(null,defpath)))))));
return weathergen.falcon.files.mission.adjust_art_dir.call(null,clojure.set.rename_keys.call(null,d,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"misctexdir","misctexdir",1667285632),new cljs.core.Keyword(null,"objectdir","objectdir",407109125),new cljs.core.Keyword(null,"mintact","mintact",-890985755),new cljs.core.Keyword(null,"terraindir","terraindir",1329705160),new cljs.core.Keyword(null,"artdir","artdir",-194008055),new cljs.core.Keyword(null,"campaigndir","campaigndir",1669742857),new cljs.core.Keyword(null,"simdatadir","simdatadir",-85891831),new cljs.core.Keyword(null,"3ddatadir","3ddatadir",1203546287),new cljs.core.Keyword(null,"sounddir","sounddir",2140813242)],[new cljs.core.Keyword(null,"misc-tex-dir","misc-tex-dir",2025463376),new cljs.core.Keyword(null,"object-dir","object-dir",-2124784896),new cljs.core.Keyword(null,"min-tacan","min-tacan",767695708),new cljs.core.Keyword(null,"terrain-dir","terrain-dir",-682919794),new cljs.core.Keyword(null,"art-dir","art-dir",67381390),new cljs.core.Keyword(null,"campaign-dir","campaign-dir",-1278307883),new cljs.core.Keyword(null,"sim-data-dir","sim-data-dir",-1889768986),new cljs.core.Keyword(null,"3d-data-dir","3d-data-dir",-1538342822),new cljs.core.Keyword(null,"sound-dir","sound-dir",604246964)])));
}
});
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","read-theater-defs","weathergen.falcon.files.mission/read-theater-defs",-231776858,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,"data-dir","data-dir",2038801936),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,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),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,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,"data-dir","data-dir",2038801936),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,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,"data-dir","data-dir",2038801936)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.Dir], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,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,"data-dir","data-dir",2038801936),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,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),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"Theater","Theater",-809812509,null),weathergen.falcon.files.mission.Theater,new cljs.core.PersistentArrayMap(null, 4, [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__29410){
return cljs.core.coll_QMARK_.call(null,G__29410);
}),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.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null))], null),null),null,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.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null)),null,null,null));
/**
 * Read, parse, and return information about the installled theaters
 *   from the theater list.
 */
weathergen.falcon.files.mission.read_theater_defs = (function weathergen$falcon$files$mission$read_theater_defs(data_dir){
return cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.mapv.call(null,(function (p1__29412_SHARP_){
return weathergen.falcon.files.mission.read_theater_def.call(null,data_dir,p1__29412_SHARP_);
}),cljs.core.remove.call(null,clojure.string.blank_QMARK_,cljs.core.remove.call(null,(function (p1__29411_SHARP_){
return p1__29411_SHARP_.startsWith("#");
}),cljs.core.map.call(null,clojure.string.trim,clojure.string.split_lines.call(null,weathergen.filesystem.file_text.call(null,weathergen.filesystem.path_combine.call(null,data_dir,"Terrdata/theaterdefinition/theater.lst"))))))));
});
weathergen.falcon.files.mission.whitespace = /[ \t=]+/;
/**
 * Reads an id list file consisting of pairs of names and ids. Returns
 *   a seq of those pairs.
 */
weathergen.falcon.files.mission.read_id_list_file = (function weathergen$falcon$files$mission$read_id_list_file(installation,path){
return cljs.core.map.call(null,(function (p__29415){
var vec__29416 = p__29415;
var name = cljs.core.nth.call(null,vec__29416,(0),null);
var id = cljs.core.nth.call(null,vec__29416,(1),null);
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [name,(function (){var or__4131__auto__ = weathergen.util.str__GT_long.call(null,id);
if(cljs.core.truth_(or__4131__auto__)){
return or__4131__auto__;
} else {
taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"error","error",-978969032),"weathergen.falcon.files.mission",null,1950,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),(new cljs.core.Delay(((function (or__4131__auto__,vec__29416,name,id){
return (function (){
return new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, ["Error parsing image id",new cljs.core.Keyword(null,"name","name",1843675177),name,new cljs.core.Keyword(null,"id","id",-1388402092),id,new cljs.core.Keyword(null,"path","path",-188191168),path], null);
});})(or__4131__auto__,vec__29416,name,id))
,null)),null,-654358409);

return null;
}
})()], null);
}),cljs.core.map.call(null,(function (p1__29414_SHARP_){
return clojure.string.split.call(null,p1__29414_SHARP_,weathergen.falcon.files.mission.whitespace);
}),cljs.core.remove.call(null,(function (p1__29413_SHARP_){
return p1__29413_SHARP_.startsWith("#");
}),cljs.core.remove.call(null,clojure.string.blank_QMARK_,cljs.core.map.call(null,clojure.string.trim,clojure.string.split_lines.call(null,weathergen.filesystem.file_text.call(null,weathergen.filesystem.path_combine.call(null,new cljs.core.Keyword(null,"data-dir","data-dir",2038801936).cljs$core$IFn$_invoke$arity$1(installation),path))))))));
});
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","read-id-list","weathergen.falcon.files.mission/read-id-list",-85336350,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,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Keyword(null,"id","id",-1388402092),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.falcon.files.mission","IdList","weathergen.falcon.files.mission/IdList",439773059,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,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Keyword(null,"id","id",-1388402092)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.Installation,cljs.core.string_QMARK_], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),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,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","IdList","weathergen.falcon.files.mission/IdList",439773059,null),weathergen.falcon.files.mission.IdList,null,null),new cljs.core.Symbol("weathergen.falcon.files.mission","IdList","weathergen.falcon.files.mission/IdList",439773059,null),null,null,null));
/**
 * Read in the id list file with `id`
 */
weathergen.falcon.files.mission.read_id_list = (function weathergen$falcon$files$mission$read_id_list(installation,id){
var pairs = cljs.core.mapcat.call(null,(function (p1__29419_SHARP_){
return weathergen.falcon.files.mission.read_id_list_file.call(null,installation,p1__29419_SHARP_);
}),cljs.core.remove.call(null,clojure.string.blank_QMARK_,cljs.core.map.call(null,clojure.string.trim,clojure.string.split_lines.call(null,weathergen.filesystem.file_text.call(null,weathergen.filesystem.path_combine.call(null,new cljs.core.Keyword(null,"data-dir","data-dir",2038801936).cljs$core$IFn$_invoke$arity$1(installation),new cljs.core.Keyword(null,"art-dir","art-dir",67381390).cljs$core$IFn$_invoke$arity$1(installation),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(id),".LST"].join('')))))));
return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"name->id","name->id",-338114168),cljs.core.zipmap.call(null,cljs.core.map.call(null,cljs.core.first,pairs),cljs.core.map.call(null,cljs.core.second,pairs)),new cljs.core.Keyword(null,"id->name","id->name",249122446),cljs.core.zipmap.call(null,cljs.core.map.call(null,cljs.core.second,pairs),cljs.core.map.call(null,cljs.core.first,pairs))], null);
});
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","read-image-ids","weathergen.falcon.files.mission/read-image-ids",-1672605206,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,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("weathergen.falcon.files.mission","IdList","weathergen.falcon.files.mission/IdList",439773059,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,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,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,"installation","installation",943147954)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.Installation], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,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,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null)),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","IdList","weathergen.falcon.files.mission/IdList",439773059,null),weathergen.falcon.files.mission.IdList,null,null),new cljs.core.Symbol("weathergen.falcon.files.mission","IdList","weathergen.falcon.files.mission/IdList",439773059,null),null,null,null));
/**
 * Read in the image IDs in this installation. Returns a map with
 *   keys :id->name and :name->id mapping in each direction.
 */
weathergen.falcon.files.mission.read_image_ids = (function weathergen$falcon$files$mission$read_image_ids(installation){
return weathergen.falcon.files.mission.read_id_list.call(null,installation,"IMAGEIDS");
});
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","read-user-ids","weathergen.falcon.files.mission/read-user-ids",1257323450,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,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("weathergen.falcon.files.mission","IdList","weathergen.falcon.files.mission/IdList",439773059,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,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,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,"installation","installation",943147954)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.Installation], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,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,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null)),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","IdList","weathergen.falcon.files.mission/IdList",439773059,null),weathergen.falcon.files.mission.IdList,null,null),new cljs.core.Symbol("weathergen.falcon.files.mission","IdList","weathergen.falcon.files.mission/IdList",439773059,null),null,null,null));
/**
 * Read in the user IDs in this installation. Returns a map with
 *   keys :id->name and :name->id mapping in each direction.
 */
weathergen.falcon.files.mission.read_user_ids = (function weathergen$falcon$files$mission$read_user_ids(installation){
return weathergen.falcon.files.mission.read_id_list.call(null,installation,"USERIDS");
});
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","load-installation","weathergen.falcon.files.mission/load-installation",-1854237906,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,"install-dir","install-dir",2018055118),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,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,"install-dir","install-dir",2018055118),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,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,"install-dir","install-dir",2018055118)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.Dir], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,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,"install-dir","install-dir",2018055118),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null)),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),weathergen.falcon.files.mission.Installation,null,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),null,null,null));
/**
 * Return information about the installed theaters.
 */
weathergen.falcon.files.mission.load_installation = (function weathergen$falcon$files$mission$load_installation(install_dir){
var data_dir = weathergen.filesystem.path_combine.call(null,install_dir,"Data");
var art_dir = "Art";
var object_dir = "Terrdata/objects";
return new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"install-dir","install-dir",2018055118),install_dir,new cljs.core.Keyword(null,"data-dir","data-dir",2038801936),data_dir,new cljs.core.Keyword(null,"art-dir","art-dir",67381390),art_dir,new cljs.core.Keyword(null,"object-dir","object-dir",-2124784896),object_dir,new cljs.core.Keyword(null,"theaters","theaters",-1420445930),weathergen.falcon.files.mission.read_theater_defs.call(null,data_dir)], null);
});
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","find-theater","weathergen.falcon.files.mission/find-theater",507774917,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,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,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,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Keyword(null,"path","path",-188191168)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.Installation,weathergen.falcon.files.mission.Path], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,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,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null)),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null),weathergen.falcon.files.mission.Theater,null,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null),null,null,null));
/**
 * Given the path to a mission file, return the theater it's in.
 */
weathergen.falcon.files.mission.find_theater = (function weathergen$falcon$files$mission$find_theater(installation,path){
return cljs.core.first.call(null,cljs.core.filter.call(null,(function (p1__29420_SHARP_){
return weathergen.filesystem.ancestor_QMARK_.call(null,weathergen.falcon.files.mission.campaign_dir.call(null,installation,p1__29420_SHARP_),path);
}),new cljs.core.Keyword(null,"theaters","theaters",-1420445930).cljs$core$IFn$_invoke$arity$1(installation)));
});
/**
 * Returns the display name of the theater as given in the theaterdef file.
 */
weathergen.falcon.files.mission.theaterdef_name = (function weathergen$falcon$files$mission$theaterdef_name(mission){
return cljs.core.get_in.call(null,mission,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"theater","theater",258922071),new cljs.core.Keyword(null,"name","name",1843675177)], null));
});
/**
 * Load the files in known locations needed to process a mission in a
 *   given theater.
 */
weathergen.falcon.files.mission.load_xml_initial_database = (function weathergen$falcon$files$mission$load_xml_initial_database(installation,theater,opts){
return cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"image-ids","image-ids",-529925649),weathergen.falcon.files.mission.read_image_ids.call(null,installation),new cljs.core.Keyword(null,"user-ids","user-ids",-652076250),weathergen.falcon.files.mission.read_user_ids.call(null,installation)], null),cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,(function (){var iter__4523__auto__ = (function weathergen$falcon$files$mission$load_xml_initial_database_$_iter__29421(s__29422){
return (new cljs.core.LazySeq(null,(function (){
var s__29422__$1 = s__29422;
while(true){
var temp__5720__auto__ = cljs.core.seq.call(null,s__29422__$1);
if(temp__5720__auto__){
var s__29422__$2 = temp__5720__auto__;
if(cljs.core.chunked_seq_QMARK_.call(null,s__29422__$2)){
var c__4521__auto__ = cljs.core.chunk_first.call(null,s__29422__$2);
var size__4522__auto__ = cljs.core.count.call(null,c__4521__auto__);
var b__29424 = cljs.core.chunk_buffer.call(null,size__4522__auto__);
if((function (){var i__29423 = (0);
while(true){
if((i__29423 < size__4522__auto__)){
var vec__29425 = cljs.core._nth.call(null,c__4521__auto__,i__29423);
var type = cljs.core.nth.call(null,vec__29425,(0),null);
var k = cljs.core.nth.call(null,vec__29425,(1),null);
cljs.core.chunk_append.call(null,b__29424,(function (){var path = weathergen.filesystem.path_combine.call(null,weathergen.falcon.files.mission.object_dir.call(null,installation,theater),["FALCON4_",cljs.core.str.cljs$core$IFn$_invoke$arity$1(type),".xml"].join(''));
var _ = taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"info","info",-317069002),"weathergen.falcon.files.mission",null,2044,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),(new cljs.core.Delay(((function (i__29423,path,vec__29425,type,k,c__4521__auto__,size__4522__auto__,b__29424,s__29422__$2,temp__5720__auto__){
return (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, ["XML file path",path], null);
});})(i__29423,path,vec__29425,type,k,c__4521__auto__,size__4522__auto__,b__29424,s__29422__$2,temp__5720__auto__))
,null)),null,669683533);
var xml = weathergen.filesystem.file_text.call(null,path);
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,weathergen.falcon.files.mission.xml.parse.call(null,xml,k)], null);
})());

var G__29431 = (i__29423 + (1));
i__29423 = G__29431;
continue;
} else {
return true;
}
break;
}
})()){
return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__29424),weathergen$falcon$files$mission$load_xml_initial_database_$_iter__29421.call(null,cljs.core.chunk_rest.call(null,s__29422__$2)));
} else {
return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__29424),null);
}
} else {
var vec__29428 = cljs.core.first.call(null,s__29422__$2);
var type = cljs.core.nth.call(null,vec__29428,(0),null);
var k = cljs.core.nth.call(null,vec__29428,(1),null);
return cljs.core.cons.call(null,(function (){var path = weathergen.filesystem.path_combine.call(null,weathergen.falcon.files.mission.object_dir.call(null,installation,theater),["FALCON4_",cljs.core.str.cljs$core$IFn$_invoke$arity$1(type),".xml"].join(''));
var _ = taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"info","info",-317069002),"weathergen.falcon.files.mission",null,2044,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),(new cljs.core.Delay(((function (path,vec__29428,type,k,s__29422__$2,temp__5720__auto__){
return (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, ["XML file path",path], null);
});})(path,vec__29428,type,k,s__29422__$2,temp__5720__auto__))
,null)),null,-1147324778);
var xml = weathergen.filesystem.file_text.call(null,path);
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,weathergen.falcon.files.mission.xml.parse.call(null,xml,k)], null);
})(),weathergen$falcon$files$mission$load_xml_initial_database_$_iter__29421.call(null,cljs.core.rest.call(null,s__29422__$2)));
}
} else {
return null;
}
break;
}
}),null,null));
});
return iter__4523__auto__.call(null,new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, ["ct",new cljs.core.Keyword(null,"class-table","class-table",207400992)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, ["ucd",new cljs.core.Keyword(null,"unit-class-data","unit-class-data",2122324209)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, ["OCD",new cljs.core.Keyword(null,"objective-class-data","objective-class-data",-2036255156)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, ["VCD",new cljs.core.Keyword(null,"vehicle-class-data","vehicle-class-data",1666024339)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, ["WCD",new cljs.core.Keyword(null,"weapon-class-data","weapon-class-data",-1828241433)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, ["FCD",new cljs.core.Keyword(null,"feature-class-data","feature-class-data",-794349644)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, ["fed",new cljs.core.Keyword(null,"feature-entry-data","feature-entry-data",-87481893)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, ["PHD",new cljs.core.Keyword(null,"point-header-data","point-header-data",2108405911)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, ["SWD",new cljs.core.Keyword(null,"sim-weapon-data","sim-weapon-data",1516433194)], null)], null));
})()));
});
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","load-initial-database","weathergen.falcon.files.mission/load-initial-database",-16988534,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,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Keyword(null,"theater","theater",258922071),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("weathergen.falcon.files.mission","InitialDatabase","weathergen.falcon.files.mission/InitialDatabase",1423333610,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,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Keyword(null,"theater","theater",258922071),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Keyword(null,"theater","theater",258922071)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.Installation,weathergen.falcon.files.mission.Theater], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,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,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Keyword(null,"theater","theater",258922071),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null)),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","InitialDatabase","weathergen.falcon.files.mission/InitialDatabase",1423333610,null),weathergen.falcon.files.mission.InitialDatabase,null,null),new cljs.core.Symbol("weathergen.falcon.files.mission","InitialDatabase","weathergen.falcon.files.mission/InitialDatabase",1423333610,null),null,null,null));
/**
 * Load the files in known locations needed to process a mission in a
 *   given theater.
 */
weathergen.falcon.files.mission.load_initial_database = (function weathergen$falcon$files$mission$load_initial_database(var_args){
var args__4736__auto__ = [];
var len__4730__auto___29441 = arguments.length;
var i__4731__auto___29442 = (0);
while(true){
if((i__4731__auto___29442 < len__4730__auto___29441)){
args__4736__auto__.push((arguments[i__4731__auto___29442]));

var G__29443 = (i__4731__auto___29442 + (1));
i__4731__auto___29442 = G__29443;
continue;
} else {
}
break;
}

var argseq__4737__auto__ = ((((2) < args__4736__auto__.length))?(new cljs.core.IndexedSeq(args__4736__auto__.slice((2)),(0),null)):null);
return weathergen.falcon.files.mission.load_initial_database.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__4737__auto__);
});

weathergen.falcon.files.mission.load_initial_database.cljs$core$IFn$_invoke$arity$variadic = (function (installation,theater,p__29435){
var vec__29436 = p__29435;
var map__29439 = cljs.core.nth.call(null,vec__29436,(0),null);
var map__29439__$1 = (((((!((map__29439 == null))))?(((((map__29439.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29439.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29439):map__29439);
var opts = map__29439__$1;
var version = cljs.core.get.call(null,map__29439__$1,new cljs.core.Keyword("database","version","database/version",1963983397));
if((version >= (100))){
return weathergen.falcon.files.mission.load_xml_initial_database.call(null,installation,theater,opts);
} else {
throw cljs.core.ex_info.call(null,"This version of VMT does not work with versions of BMS prior to 4.34. Use an older version of VMT to work with missions from older versions of BMS.",new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"omit-stack-trace?","omit-stack-trace?",1080142229),true,new cljs.core.Keyword(null,"version","version",425292698),version], null));
}
});

weathergen.falcon.files.mission.load_initial_database.cljs$lang$maxFixedArity = (2);

/** @this {Function} */
weathergen.falcon.files.mission.load_initial_database.cljs$lang$applyTo = (function (seq29432){
var G__29433 = cljs.core.first.call(null,seq29432);
var seq29432__$1 = cljs.core.next.call(null,seq29432);
var G__29434 = cljs.core.first.call(null,seq29432__$1);
var seq29432__$2 = cljs.core.next.call(null,seq29432__$1);
var self__4717__auto__ = this;
return self__4717__auto__.cljs$core$IFn$_invoke$arity$variadic(G__29433,G__29434,seq29432__$2);
});

/**
 * Reads and parses a .tac/.cmp file, returning a map from the embedded
 *   file type to its contents. Opts includes `::file-types`, a set of
 *   keywords limiting the file types to be read.
 */
weathergen.falcon.files.mission.read_embedded_files = (function weathergen$falcon$files$mission$read_embedded_files(var_args){
var args__4736__auto__ = [];
var len__4730__auto___29459 = arguments.length;
var i__4731__auto___29460 = (0);
while(true){
if((i__4731__auto___29460 < len__4730__auto___29459)){
args__4736__auto__.push((arguments[i__4731__auto___29460]));

var G__29461 = (i__4731__auto___29460 + (1));
i__4731__auto___29460 = G__29461;
continue;
} else {
}
break;
}

var argseq__4737__auto__ = ((((2) < args__4736__auto__.length))?(new cljs.core.IndexedSeq(args__4736__auto__.slice((2)),(0),null)):null);
return weathergen.falcon.files.mission.read_embedded_files.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__4737__auto__);
});

weathergen.falcon.files.mission.read_embedded_files.cljs$core$IFn$_invoke$arity$variadic = (function (buf,database,p__29447){
var vec__29448 = p__29447;
var map__29451 = cljs.core.nth.call(null,vec__29448,(0),null);
var map__29451__$1 = (((((!((map__29451 == null))))?(((((map__29451.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29451.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29451):map__29451);
var opts = map__29451__$1;
var file_types = cljs.core.get.call(null,map__29451__$1,new cljs.core.Keyword("weathergen.falcon.files.mission","file-types","weathergen.falcon.files.mission/file-types",2089227843));
var _STAR_byte_order_STAR__orig_val__29453 = octet.buffer._STAR_byte_order_STAR_;
var _STAR_byte_order_STAR__temp_val__29454 = new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);
octet.buffer._STAR_byte_order_STAR_ = _STAR_byte_order_STAR__temp_val__29454;

try{var dir_offset = octet.core.read.call(null,buf,octet.core.uint32);
var dir_file_count = octet.core.read.call(null,buf,octet.core.uint32,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"offset","offset",296498311),dir_offset], null));
var directory = octet.core.read.call(null,buf,octet.core.repeat.call(null,dir_file_count,weathergen.falcon.files.mission.directory_entry),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"offset","offset",296498311),(dir_offset + (4))], null));
var files = (function (){var iter__4523__auto__ = ((function (dir_offset,dir_file_count,directory,_STAR_byte_order_STAR__orig_val__29453,_STAR_byte_order_STAR__temp_val__29454,vec__29448,map__29451,map__29451__$1,opts,file_types){
return (function weathergen$falcon$files$mission$iter__29455(s__29456){
return (new cljs.core.LazySeq(null,((function (dir_offset,dir_file_count,directory,_STAR_byte_order_STAR__orig_val__29453,_STAR_byte_order_STAR__temp_val__29454,vec__29448,map__29451,map__29451__$1,opts,file_types){
return (function (){
var s__29456__$1 = s__29456;
while(true){
var temp__5720__auto__ = cljs.core.seq.call(null,s__29456__$1);
if(temp__5720__auto__){
var s__29456__$2 = temp__5720__auto__;
if(cljs.core.chunked_seq_QMARK_.call(null,s__29456__$2)){
var c__4521__auto__ = cljs.core.chunk_first.call(null,s__29456__$2);
var size__4522__auto__ = cljs.core.count.call(null,c__4521__auto__);
var b__29458 = cljs.core.chunk_buffer.call(null,size__4522__auto__);
if((function (){var i__29457 = (0);
while(true){
if((i__29457 < size__4522__auto__)){
var entry = cljs.core._nth.call(null,c__4521__auto__,i__29457);
var type = weathergen.falcon.files.mission.file_type.call(null,new cljs.core.Keyword(null,"file-name","file-name",-1654217259).cljs$core$IFn$_invoke$arity$1(entry));
if(cljs.core.truth_((function (){var or__4131__auto__ = (file_types == null);
if(or__4131__auto__){
return or__4131__auto__;
} else {
return file_types.call(null,type);
}
})())){
cljs.core.chunk_append.call(null,b__29458,cljs.core.assoc.call(null,entry,new cljs.core.Keyword(null,"type","type",1174270348),type,new cljs.core.Keyword(null,"data","data",-232669377),weathergen.falcon.files.mission.read_embedded_file.call(null,type,entry,buf,database)));

var G__29462 = (i__29457 + (1));
i__29457 = G__29462;
continue;
} else {
var G__29463 = (i__29457 + (1));
i__29457 = G__29463;
continue;
}
} else {
return true;
}
break;
}
})()){
return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__29458),weathergen$falcon$files$mission$iter__29455.call(null,cljs.core.chunk_rest.call(null,s__29456__$2)));
} else {
return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__29458),null);
}
} else {
var entry = cljs.core.first.call(null,s__29456__$2);
var type = weathergen.falcon.files.mission.file_type.call(null,new cljs.core.Keyword(null,"file-name","file-name",-1654217259).cljs$core$IFn$_invoke$arity$1(entry));
if(cljs.core.truth_((function (){var or__4131__auto__ = (file_types == null);
if(or__4131__auto__){
return or__4131__auto__;
} else {
return file_types.call(null,type);
}
})())){
return cljs.core.cons.call(null,cljs.core.assoc.call(null,entry,new cljs.core.Keyword(null,"type","type",1174270348),type,new cljs.core.Keyword(null,"data","data",-232669377),weathergen.falcon.files.mission.read_embedded_file.call(null,type,entry,buf,database)),weathergen$falcon$files$mission$iter__29455.call(null,cljs.core.rest.call(null,s__29456__$2)));
} else {
var G__29464 = cljs.core.rest.call(null,s__29456__$2);
s__29456__$1 = G__29464;
continue;
}
}
} else {
return null;
}
break;
}
});})(dir_offset,dir_file_count,directory,_STAR_byte_order_STAR__orig_val__29453,_STAR_byte_order_STAR__temp_val__29454,vec__29448,map__29451,map__29451__$1,opts,file_types))
,null,null));
});})(dir_offset,dir_file_count,directory,_STAR_byte_order_STAR__orig_val__29453,_STAR_byte_order_STAR__temp_val__29454,vec__29448,map__29451,map__29451__$1,opts,file_types))
;
return iter__4523__auto__.call(null,directory);
})();
if(cljs.core._EQ_.call(null,cljs.core.count.call(null,files),cljs.core.count.call(null,cljs.core.distinct.call(null,cljs.core.map.call(null,new cljs.core.Keyword(null,"type","type",1174270348),files))))){
} else {
throw (new Error("Assert failed: (->> files (map :type) distinct count (= (count files)))"));
}

return cljs.core.zipmap.call(null,cljs.core.map.call(null,new cljs.core.Keyword(null,"type","type",1174270348),files),cljs.core.map.call(null,new cljs.core.Keyword(null,"data","data",-232669377),files));
}finally {octet.buffer._STAR_byte_order_STAR_ = _STAR_byte_order_STAR__orig_val__29453;
}});

weathergen.falcon.files.mission.read_embedded_files.cljs$lang$maxFixedArity = (2);

/** @this {Function} */
weathergen.falcon.files.mission.read_embedded_files.cljs$lang$applyTo = (function (seq29444){
var G__29445 = cljs.core.first.call(null,seq29444);
var seq29444__$1 = cljs.core.next.call(null,seq29444);
var G__29446 = cljs.core.first.call(null,seq29444__$1);
var seq29444__$2 = cljs.core.next.call(null,seq29444__$1);
var self__4717__auto__ = this;
return self__4717__auto__.cljs$core$IFn$_invoke$arity$variadic(G__29445,G__29446,seq29444__$2);
});

/**
 * Given objectives and objective deltas, merge the deltas and return
 *   an updated objectives list.
 */
weathergen.falcon.files.mission.merge_objective_deltas = (function weathergen$falcon$files$mission$merge_objective_deltas(objectives,deltas){
var objectives_map = cljs.core.zipmap.call(null,cljs.core.map.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),objectives),objectives);
return cljs.core.vec.call(null,cljs.core.vals.call(null,cljs.core.reduce.call(null,((function (objectives_map){
return (function (objectives_map__$1,delta){
return cljs.core.update.call(null,objectives_map__$1,new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(delta),cljs.core.merge,delta);
});})(objectives_map))
,objectives_map,deltas)));
});
/**
 * Returns the number of aircraft in `flight`.
 */
weathergen.falcon.files.mission.flight_aircraft_quantity = (function weathergen$falcon$files$mission$flight_aircraft_quantity(flight){
return cljs.core.count.call(null,cljs.core.remove.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AIRCRAFT_NOT_ASSIGNED]),new cljs.core.Keyword(null,"plane-stats","plane-stats",-4010361).cljs$core$IFn$_invoke$arity$1(flight)));
});
/**
 * Returns a seq of maps describing weapons in a loadout. Maps contain
 *   `:quantity` and `:name` keys.
 */
weathergen.falcon.files.mission.loadout_weapons = (function weathergen$falcon$files$mission$loadout_weapons(mission,loadout){
var map__29465 = loadout;
var map__29465__$1 = (((((!((map__29465 == null))))?(((((map__29465.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29465.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29465):map__29465);
var ids = cljs.core.get.call(null,map__29465__$1,new cljs.core.Keyword(null,"id","id",-1388402092));
var counts = cljs.core.get.call(null,map__29465__$1,new cljs.core.Keyword(null,"count","count",2139924085));
return cljs.core.mapv.call(null,((function (map__29465,map__29465__$1,ids,counts){
return (function (p__29467){
var vec__29468 = p__29467;
var k = cljs.core.nth.call(null,vec__29468,(0),null);
var v = cljs.core.nth.call(null,vec__29468,(1),null);
var weapon = weathergen.falcon.files.mission.weapon_class_entry.call(null,mission,k);
return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"name","name",1843675177).cljs$core$IFn$_invoke$arity$1(weapon),new cljs.core.Keyword(null,"quantity","quantity",-1929050694),(v * ((weathergen.util.has_flag_QMARK_.call(null,new cljs.core.Keyword(null,"flags","flags",1775418075).cljs$core$IFn$_invoke$arity$1(weapon),weathergen.falcon.constants.WEAP_ONETENTH))?(10):(1)))], null);
});})(map__29465,map__29465__$1,ids,counts))
,cljs.core.reduce.call(null,((function (map__29465,map__29465__$1,ids,counts){
return (function (m,p__29471){
var vec__29472 = p__29471;
var id = cljs.core.nth.call(null,vec__29472,(0),null);
var count = cljs.core.nth.call(null,vec__29472,(1),null);
if((((id === (0))) || ((count === (0))))){
return m;
} else {
return cljs.core.update.call(null,m,id,cljs.core.fnil.call(null,cljs.core._PLUS_,(0)),count);
}
});})(map__29465,map__29465__$1,ids,counts))
,cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,cljs.core.vector,ids,counts)));
});
/**
 * Given a flight, returns a seq of maps describing the loadouts.
 */
weathergen.falcon.files.mission.flight_loadouts = (function weathergen$falcon$files$mission$flight_loadouts(mission,flight){
var loadouts = new cljs.core.Keyword(null,"loadouts","loadouts",1824879361).cljs$core$IFn$_invoke$arity$1(flight);
var num_ac = weathergen.falcon.files.mission.flight_aircraft_quantity.call(null,flight);
var iter__4523__auto__ = ((function (loadouts,num_ac){
return (function weathergen$falcon$files$mission$flight_loadouts_$_iter__29475(s__29476){
return (new cljs.core.LazySeq(null,((function (loadouts,num_ac){
return (function (){
var s__29476__$1 = s__29476;
while(true){
var temp__5720__auto__ = cljs.core.seq.call(null,s__29476__$1);
if(temp__5720__auto__){
var s__29476__$2 = temp__5720__auto__;
if(cljs.core.chunked_seq_QMARK_.call(null,s__29476__$2)){
var c__4521__auto__ = cljs.core.chunk_first.call(null,s__29476__$2);
var size__4522__auto__ = cljs.core.count.call(null,c__4521__auto__);
var b__29478 = cljs.core.chunk_buffer.call(null,size__4522__auto__);
if((function (){var i__29477 = (0);
while(true){
if((i__29477 < size__4522__auto__)){
var i = cljs.core._nth.call(null,c__4521__auto__,i__29477);
cljs.core.chunk_append.call(null,b__29478,weathergen.falcon.files.mission.loadout_weapons.call(null,mission,((cljs.core._EQ_.call(null,cljs.core.count.call(null,loadouts),num_ac))?cljs.core.nth.call(null,loadouts,i):cljs.core.first.call(null,loadouts))));

var G__29479 = (i__29477 + (1));
i__29477 = G__29479;
continue;
} else {
return true;
}
break;
}
})()){
return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__29478),weathergen$falcon$files$mission$flight_loadouts_$_iter__29475.call(null,cljs.core.chunk_rest.call(null,s__29476__$2)));
} else {
return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__29478),null);
}
} else {
var i = cljs.core.first.call(null,s__29476__$2);
return cljs.core.cons.call(null,weathergen.falcon.files.mission.loadout_weapons.call(null,mission,((cljs.core._EQ_.call(null,cljs.core.count.call(null,loadouts),num_ac))?cljs.core.nth.call(null,loadouts,i):cljs.core.first.call(null,loadouts))),weathergen$falcon$files$mission$flight_loadouts_$_iter__29475.call(null,cljs.core.rest.call(null,s__29476__$2)));
}
} else {
return null;
}
break;
}
});})(loadouts,num_ac))
,null,null));
});})(loadouts,num_ac))
;
return iter__4523__auto__.call(null,cljs.core.range.call(null,num_ac));
});
/**
 * Given a ground speed in kts and an altitude in feet, returns mach and IAS in kts.
 */
weathergen.falcon.files.mission.compute_speed = (function weathergen$falcon$files$mission$compute_speed(speed,altitude){
var ttheta = (((altitude <= (36089)))?(1.0 - (6.875E-6 * altitude)):0.7519);
var rsigma = (((altitude <= (36089)))?Math.pow(ttheta,4.256):(0.2971 * Math.pow(2.718,(4.806E-5 * (36089.0 - altitude)))));
var mach = (speed / (weathergen.falcon.constants.AASLK * Math.sqrt(ttheta)));
var pa = ((ttheta * rsigma) * weathergen.falcon.constants.PASL);
var qc = (((mach <= 1.0))?(pa * (Math.pow((1.0 + ((0.2 * mach) * mach)),3.5) - 1.0)):(pa * ((((166.9 * mach) * mach) / Math.pow((7.0 - (1.0 / (mach * mach))),2.5)) - 1.0)));
var qpasl1 = (1.0 + (qc / weathergen.falcon.constants.PASL));
var vcas = (1479.12 * Math.sqrt((Math.pow(qpasl1,0.285714) - 1.0)));
var ias = (((1889.65 < qc))?(function (){var oper = (qpasl1 * Math.pow((7.0 - ((weathergen.falcon.constants.AASLK * weathergen.falcon.constants.AASLK) / (vcas * vcas))),2.5));
return (51.1987 * Math.sqrt((((oper < (0)))?0.1:oper)));
})():vcas);
return new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"mach","mach",172480995),mach,new cljs.core.Keyword(null,"ias","ias",291909619),ias,new cljs.core.Keyword(null,"cas","cas",-451543220),vcas,new cljs.core.Keyword(null,"qc","qc",-7621727),qc], null);
});
/**
 * Return the comments section of the flight briefing for a waypoint
 */
weathergen.falcon.files.mission.waypoint_comments = (function weathergen$falcon$files$mission$waypoint_comments(mission,w){
var strings = cljs.core.get_in.call(null,mission,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"strings","strings",-2055406807),new cljs.core.Keyword(null,"fn","fn",-1175266204)], null));
var map__29480 = w;
var map__29480__$1 = (((((!((map__29480 == null))))?(((((map__29480.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29480.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29480):map__29480);
var flags = cljs.core.get.call(null,map__29480__$1,new cljs.core.Keyword(null,"flags","flags",1775418075));
var action = cljs.core.get.call(null,map__29480__$1,new cljs.core.Keyword(null,"action","action",-811238024));
var route_action = cljs.core.get.call(null,map__29480__$1,new cljs.core.Keyword(null,"route-action","route-action",1993857154));
if(weathergen.util.has_flag_QMARK_.call(null,flags,weathergen.falcon.constants.WPF_ALTERNATE)){
return strings.call(null,(237));
} else {
if(weathergen.util.has_flag_QMARK_.call(null,flags,weathergen.falcon.constants.WPF_REPEAT)){
return strings.call(null,(247));
} else {
if(cljs.core._EQ_.call(null,weathergen.falcon.constants.WP_NOTHING,action)){
return strings.call(null,((1650) + route_action));
} else {
return strings.call(null,((1650) + action));

}
}
}
});
/**
 * Given a flight, returns a seq of maps describing the waypoints
 */
weathergen.falcon.files.mission.flight_waypoints = (function weathergen$falcon$files$mission$flight_waypoints(mission,flight){
var waypoints = cljs.core.map_indexed.call(null,(function (i,w){
var map__29482 = w;
var map__29482__$1 = (((((!((map__29482 == null))))?(((((map__29482.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29482.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29482):map__29482);
var action = cljs.core.get.call(null,map__29482__$1,new cljs.core.Keyword(null,"action","action",-811238024));
var route_action = cljs.core.get.call(null,map__29482__$1,new cljs.core.Keyword(null,"route-action","route-action",1993857154));
var arrive = cljs.core.get.call(null,map__29482__$1,new cljs.core.Keyword(null,"arrive","arrive",-284644322));
var depart = cljs.core.get.call(null,map__29482__$1,new cljs.core.Keyword(null,"depart","depart",-100007287));
var haves = cljs.core.get.call(null,map__29482__$1,new cljs.core.Keyword(null,"haves","haves",-405191810));
var action_name = cljs.core.get_in.call(null,mission,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"strings","strings",-2055406807),new cljs.core.Keyword(null,"waypoint-type-names","waypoint-type-names",719960758),action], null));
var enroute_action_name = cljs.core.get_in.call(null,mission,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"strings","strings",-2055406807),new cljs.core.Keyword(null,"waypoint-type-names","waypoint-type-names",719960758),route_action], null));
return cljs.core.assoc.call(null,w,new cljs.core.Keyword("weathergen.falcon.files.mission","number","weathergen.falcon.files.mission/number",-1176793792),(i + (1)),new cljs.core.Keyword("weathergen.falcon.files.mission","action-name","weathergen.falcon.files.mission/action-name",-1230729595),action_name,new cljs.core.Keyword("weathergen.falcon.files.mission","enroute-action-name","weathergen.falcon.files.mission/enroute-action-name",-95379962),action_name,new cljs.core.Keyword("weathergen.falcon.files.mission","description","weathergen.falcon.files.mission/description",-1977659382),((cljs.core._EQ_.call(null,action,weathergen.falcon.constants.WP_NOTHING))?enroute_action_name:action_name),new cljs.core.Keyword("weathergen.falcon.files.mission","remain","weathergen.falcon.files.mission/remain",1849736680),(cljs.core.truth_(haves.call(null,new cljs.core.Keyword(null,"deptime","deptime",1842159584)))?weathergen.time.difference_hms.call(null,arrive,depart):null),new cljs.core.Keyword("weathergen.falcon.files.mission","altitude","weathergen.falcon.files.mission/altitude",543643555),(new cljs.core.Keyword(null,"grid-z","grid-z",855482282).cljs$core$IFn$_invoke$arity$1(w) * weathergen.falcon.constants.GRIDZ_SCALE_FACTOR),new cljs.core.Keyword("weathergen.falcon.files.mission","comments","weathergen.falcon.files.mission/comments",-1789953753),weathergen.falcon.files.mission.waypoint_comments.call(null,mission,w));
}),new cljs.core.Keyword(null,"waypoints","waypoints",-844253224).cljs$core$IFn$_invoke$arity$1(flight));
return cljs.core.map.call(null,((function (waypoints){
return (function (w){
if((!((function (){var map__29484 = w;
var map__29484__$1 = (((((!((map__29484 == null))))?(((((map__29484.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29484.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29484):map__29484);
var action = cljs.core.get.call(null,map__29484__$1,new cljs.core.Keyword(null,"action","action",-811238024));
var flags = cljs.core.get.call(null,map__29484__$1,new cljs.core.Keyword(null,"flags","flags",1775418075));
return ((weathergen.util.has_flag_QMARK_.call(null,flags,weathergen.falcon.constants.WPF_ALTERNATE)) || (cljs.core._EQ_.call(null,weathergen.falcon.constants.WP_REFUEL,action)));
})()))){
return w;
} else {
return cljs.core.dissoc.call(null,w,new cljs.core.Keyword(null,"arrive","arrive",-284644322),new cljs.core.Keyword(null,"depart","depart",-100007287),new cljs.core.Keyword("weathergen.falcon.files.mission","distance","weathergen.falcon.files.mission/distance",18637316),new cljs.core.Keyword("weathergen.falcon.files.mission","heading","weathergen.falcon.files.mission/heading",361734949),new cljs.core.Keyword("weathergen.falcon.files.mission","speed-ias","weathergen.falcon.files.mission/speed-ias",-2064912472),new cljs.core.Keyword("weathergen.falcon.files.mission","speed-cas","weathergen.falcon.files.mission/speed-cas",-588060328),new cljs.core.Keyword("weathergen.falcon.files.mission","speed-gnd","weathergen.falcon.files.mission/speed-gnd",-39445006),new cljs.core.Keyword("weathergen.falcon.files.mission","speed-mach","weathergen.falcon.files.mission/speed-mach",-185245472),new cljs.core.Keyword("weathergen.falcon.files.mission","speed-tas","weathergen.falcon.files.mission/speed-tas",568219840));
}
});})(waypoints))
,cljs.core.into.call(null,cljs.core.vec.call(null,cljs.core.take.call(null,(1),waypoints)),cljs.core.map.call(null,((function (waypoints){
return (function (p__29486){
var vec__29487 = p__29486;
var prev = cljs.core.nth.call(null,vec__29487,(0),null);
var curr = cljs.core.nth.call(null,vec__29487,(1),null);
var map__29490 = curr;
var map__29490__$1 = (((((!((map__29490 == null))))?(((((map__29490.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29490.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29490):map__29490);
var curr_x = cljs.core.get.call(null,map__29490__$1,new cljs.core.Keyword(null,"grid-x","grid-x",1935903622));
var curr_y = cljs.core.get.call(null,map__29490__$1,new cljs.core.Keyword(null,"grid-y","grid-y",1140315474));
var map__29491 = prev;
var map__29491__$1 = (((((!((map__29491 == null))))?(((((map__29491.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29491.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29491):map__29491);
var prev_x = cljs.core.get.call(null,map__29491__$1,new cljs.core.Keyword(null,"grid-x","grid-x",1935903622));
var prev_y = cljs.core.get.call(null,map__29491__$1,new cljs.core.Keyword(null,"grid-y","grid-y",1140315474));
var dx = (curr_x - prev_x);
var dy = (curr_y - prev_y);
var dv = new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [dx,dy], null);
var distance = weathergen.coordinates.fgrid__GT_nm.call(null,weathergen.math.magnitude.call(null,dv));
var delta_t = ((((weathergen.time.campaign_time__GT_ms.call(null,new cljs.core.Keyword(null,"arrive","arrive",-284644322).cljs$core$IFn$_invoke$arity$1(curr)) - weathergen.time.campaign_time__GT_ms.call(null,new cljs.core.Keyword(null,"depart","depart",-100007287).cljs$core$IFn$_invoke$arity$1(prev))) / (1000)) / (60)) / (60));
var gnd_speed = (((delta_t === (0)))?(0):(distance / delta_t));
var altitude = ((weathergen.util.has_flag_QMARK_.call(null,new cljs.core.Keyword(null,"flags","flags",1775418075).cljs$core$IFn$_invoke$arity$1(curr),weathergen.falcon.constants.WPF_HOLDCURRENT))?new cljs.core.Keyword("weathergen.falcon.files.mission","altitude","weathergen.falcon.files.mission/altitude",543643555).cljs$core$IFn$_invoke$arity$1(prev):new cljs.core.Keyword("weathergen.falcon.files.mission","altitude","weathergen.falcon.files.mission/altitude",543643555).cljs$core$IFn$_invoke$arity$1(curr));
var map__29492 = weathergen.falcon.files.mission.compute_speed.call(null,gnd_speed,altitude);
var map__29492__$1 = (((((!((map__29492 == null))))?(((((map__29492.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29492.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29492):map__29492);
var mach = cljs.core.get.call(null,map__29492__$1,new cljs.core.Keyword(null,"mach","mach",172480995));
var ias = cljs.core.get.call(null,map__29492__$1,new cljs.core.Keyword(null,"ias","ias",291909619));
var cas = cljs.core.get.call(null,map__29492__$1,new cljs.core.Keyword(null,"cas","cas",-451543220));
return cljs.core.assoc.call(null,curr,new cljs.core.Keyword("weathergen.falcon.files.mission","distance","weathergen.falcon.files.mission/distance",18637316),distance,new cljs.core.Keyword("weathergen.falcon.files.mission","heading","weathergen.falcon.files.mission/heading",361734949),weathergen.math.heading.call(null,dv),new cljs.core.Keyword("weathergen.falcon.files.mission","speed-ias","weathergen.falcon.files.mission/speed-ias",-2064912472),ias,new cljs.core.Keyword("weathergen.falcon.files.mission","speed-cas","weathergen.falcon.files.mission/speed-cas",-588060328),cas,new cljs.core.Keyword("weathergen.falcon.files.mission","speed-tas","weathergen.falcon.files.mission/speed-tas",568219840),gnd_speed,new cljs.core.Keyword("weathergen.falcon.files.mission","speed-gnd","weathergen.falcon.files.mission/speed-gnd",-39445006),gnd_speed,new cljs.core.Keyword("weathergen.falcon.files.mission","speed-mach","weathergen.falcon.files.mission/speed-mach",-185245472),mach);
});})(waypoints))
,cljs.core.partition.call(null,(2),(1),waypoints))));
});
/**
 * Given a flight, returns the name of a flight mission type, e.g. BARCAP.
 */
weathergen.falcon.files.mission.flight_mission_name = (function weathergen$falcon$files$mission$flight_mission_name(mission,flight){
return cljs.core.get_in.call(null,mission,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"strings","strings",-2055406807),new cljs.core.Keyword(null,"mission-type-names","mission-type-names",-1426382657),new cljs.core.Keyword(null,"mission","mission",1740288522).cljs$core$IFn$_invoke$arity$1(flight)], null));
});
/**
 * Given a flight, return its mission category, e.g. ATO_DCA.
 */
weathergen.falcon.files.mission.flight_mission_category = (function weathergen$falcon$files$mission$flight_mission_category(mission,flight){
var map__29496 = flight;
var map__29496__$1 = (((((!((map__29496 == null))))?(((((map__29496.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29496.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29496):map__29496);
var mission__$1 = cljs.core.get.call(null,map__29496__$1,new cljs.core.Keyword(null,"mission","mission",1740288522));
var pred__29498 = cljs.core.contains_QMARK_;
var expr__29499 = mission__$1;
if(cljs.core.truth_(pred__29498.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_ESCORT,weathergen.falcon.constants.AMIS_OCASTRIKE,weathergen.falcon.constants.AMIS_SWEEP,weathergen.falcon.constants.AMIS_TARCAP]),expr__29499))){
return weathergen.falcon.constants.ATO_OCA;
} else {
if(cljs.core.truth_(pred__29498.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_STRIKE,weathergen.falcon.constants.AMIS_STRATBOMB,weathergen.falcon.constants.AMIS_STSTRIKE,weathergen.falcon.constants.AMIS_DEEPSTRIKE]),expr__29499))){
return weathergen.falcon.constants.ATO_STRIKE;
} else {
if(cljs.core.truth_(pred__29498.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_INT,weathergen.falcon.constants.AMIS_SAD,weathergen.falcon.constants.AMIS_BAI,weathergen.falcon.constants.AMIS_INTSTRIKE]),expr__29499))){
return weathergen.falcon.constants.ATO_INTERDICTION;
} else {
if(cljs.core.truth_(pred__29498.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_SEADESCORT,weathergen.falcon.constants.AMIS_SEADSTRIKE]),expr__29499))){
return weathergen.falcon.constants.ATO_SEAD;
} else {
if(cljs.core.truth_(pred__29498.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_CAS,weathergen.falcon.constants.AMIS_PRPLANCAS,weathergen.falcon.constants.AMIS_FAC,weathergen.falcon.constants.AMIS_ONCALLCAS]),expr__29499))){
return weathergen.falcon.constants.ATO_CAS;
} else {
if(cljs.core.truth_(pred__29498.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_ALERT,weathergen.falcon.constants.AMIS_HAVCAP,weathergen.falcon.constants.AMIS_AMBUSHCAP,weathergen.falcon.constants.AMIS_BARCAP2,weathergen.falcon.constants.AMIS_BARCAP,weathergen.falcon.constants.AMIS_INTERCEPT]),expr__29499))){
return weathergen.falcon.constants.ATO_DCA;
} else {
if(cljs.core.truth_(pred__29498.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_PATROL,weathergen.falcon.constants.AMIS_RECON,weathergen.falcon.constants.AMIS_RECONPATROL,weathergen.falcon.constants.AMIS_BDA,weathergen.falcon.constants.AMIS_JSTAR,weathergen.falcon.constants.AMIS_AWACS,weathergen.falcon.constants.AMIS_ECM]),expr__29499))){
return weathergen.falcon.constants.ATO_CCCI;
} else {
if(cljs.core.truth_(pred__29498.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_ASW,weathergen.falcon.constants.AMIS_ASHIP]),expr__29499))){
return weathergen.falcon.constants.ATO_MARITIME;
} else {
if(cljs.core.truth_(pred__29498.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_RESCAP,weathergen.falcon.constants.AMIS_TANKER,weathergen.falcon.constants.AMIS_SAR,weathergen.falcon.constants.AMIS_AIRLIFT]),expr__29499))){
return weathergen.falcon.constants.ATO_SUPPORT;
} else {
return weathergen.falcon.constants.ATO_OTHER;
}
}
}
}
}
}
}
}
}
});
/**
 * Returns the team number given a team or team number.
 */
weathergen.falcon.files.mission.team_number = (function weathergen$falcon$files$mission$team_number(team_or_number){
if((team_or_number == null)){
return (0);
} else {
if(typeof team_or_number === 'number'){
return team_or_number;
} else {
return new cljs.core.Keyword(null,"who","who",-235935040).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"team","team",1355747699).cljs$core$IFn$_invoke$arity$1(team_or_number));

}
}
});
/**
 * Given a team, return its name, e.g. 'DPRK'.
 */
weathergen.falcon.files.mission.team_name = (function weathergen$falcon$files$mission$team_name(mission,team){
return new cljs.core.Keyword(null,"name","name",1843675177).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"team","team",1355747699).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,new cljs.core.Keyword(null,"teams","teams",1677714510).cljs$core$IFn$_invoke$arity$1(mission),weathergen.falcon.files.mission.team_number.call(null,team))));
});
/**
 * Returns an image descriptor for the flag of `team`. `flag-type` can
 *   be one of `:big-vert-dark`, `:big-vert`, `:big-horiz`, and
 *   `:small-horiz`.
 */
weathergen.falcon.files.mission.team_flag = (function weathergen$falcon$files$mission$team_flag(mission,team,flag_type){
var team_info = cljs.core.get_in.call(null,mission,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966),new cljs.core.Keyword(null,"team-info","team-info",-1689319883),weathergen.falcon.files.mission.team_number.call(null,team)], null));
var icon_index = cljs.core.get_in.call(null,weathergen.falcon.constants.FlagImageID,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"flag","flag",1088647881).cljs$core$IFn$_invoke$arity$1(team_info),flag_type], null));
var image_id = cljs.core.get_in.call(null,mission,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"image-ids","image-ids",-529925649),new cljs.core.Keyword(null,"id->name","id->name",249122446),icon_index], null));
return weathergen.falcon.files.images.make_descriptor.call(null,mission,"resource/main",image_id);
});
/**
 * Returns the side number given a team. Team indicates the individual
 *   combatant, side denots the alliance.
 */
weathergen.falcon.files.mission.side = (function weathergen$falcon$files$mission$side(mission,team){
return new cljs.core.Keyword(null,"c-team","c-team",1058111407).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"team","team",1355747699).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,new cljs.core.Keyword(null,"teams","teams",1677714510).cljs$core$IFn$_invoke$arity$1(mission),weathergen.falcon.files.mission.team_number.call(null,team))));
});
/**
 * Returns a sort priority for `team` relative to `who` - allies
 *   first, then enemies, then neutrals.
 */
weathergen.falcon.files.mission.team_priority = (function weathergen$falcon$files$mission$team_priority(mission,who,team){
var stance = cljs.core.nth.call(null,new cljs.core.Keyword(null,"stance","stance",1737508388).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"team","team",1355747699).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,new cljs.core.Keyword(null,"teams","teams",1677714510).cljs$core$IFn$_invoke$arity$1(mission),who))),weathergen.falcon.files.mission.team_number.call(null,team));
return cljs.core.PersistentArrayMap.createAsIfByAssoc([weathergen.falcon.constants.Allied,(0),weathergen.falcon.constants.Friendly,(1),weathergen.falcon.constants.War,(2),weathergen.falcon.constants.Hostile,(3),weathergen.falcon.constants.Neutral,(4)]).call(null,stance,(5));
});
/**
 * Returns a seq of the teams.
 */
weathergen.falcon.files.mission.teams = (function weathergen$falcon$files$mission$teams(mission){
var active_QMARK_ = cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,(function (t){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"who","who",-235935040).cljs$core$IFn$_invoke$arity$1(t),weathergen.util.has_flag_QMARK_.call(null,new cljs.core.Keyword(null,"flags","flags",1775418075).cljs$core$IFn$_invoke$arity$1(t),weathergen.falcon.constants.TEAM_ACTIVE)], null);
}),cljs.core.map.call(null,new cljs.core.Keyword(null,"team","team",1355747699),new cljs.core.Keyword(null,"teams","teams",1677714510).cljs$core$IFn$_invoke$arity$1(mission))));
var active_teams = cljs.core.filter.call(null,((function (active_QMARK_){
return (function (p1__29501_SHARP_){
return active_QMARK_.call(null,new cljs.core.Keyword(null,"c-team","c-team",1058111407).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"team","team",1355747699).cljs$core$IFn$_invoke$arity$1(p1__29501_SHARP_)));
});})(active_QMARK_))
,new cljs.core.Keyword(null,"teams","teams",1677714510).cljs$core$IFn$_invoke$arity$1(mission));
var first_team_num = new cljs.core.Keyword(null,"who","who",-235935040).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"team","team",1355747699).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,active_teams)));
return cljs.core.sort_by.call(null,((function (active_QMARK_,active_teams,first_team_num){
return (function (p1__29503_SHARP_){
return weathergen.falcon.files.mission.team_priority.call(null,mission,first_team_num,new cljs.core.Keyword(null,"who","who",-235935040).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"team","team",1355747699).cljs$core$IFn$_invoke$arity$1(p1__29503_SHARP_)));
});})(active_QMARK_,active_teams,first_team_num))
,active_teams);
});
/**
 * Returns the team with the most-recently player-played mission.
 */
weathergen.falcon.files.mission.last_player_team = (function weathergen$falcon$files$mission$last_player_team(mission){
return cljs.core.first.call(null,cljs.core.sort_by.call(null,(function (p1__29504_SHARP_){
return (- weathergen.time.campaign_time__GT_ms.call(null,new cljs.core.Keyword(null,"last-player-mission","last-player-mission",-137478691).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"team","team",1355747699).cljs$core$IFn$_invoke$arity$1(p1__29504_SHARP_))));
}),weathergen.falcon.files.mission.teams.call(null,mission)));
});
/**
 * Returns a seq of team numbers representing the sides.
 */
weathergen.falcon.files.mission.sides = (function weathergen$falcon$files$mission$sides(mission){
return cljs.core.distinct.call(null,cljs.core.map.call(null,new cljs.core.Keyword(null,"c-team","c-team",1058111407),cljs.core.map.call(null,new cljs.core.Keyword(null,"team","team",1355747699),weathergen.falcon.files.mission.teams.call(null,mission))));
});
/**
 * Returns a set of the team numbers for a given side.
 */
weathergen.falcon.files.mission.teams_for_side = (function weathergen$falcon$files$mission$teams_for_side(mission,side){
return cljs.core.set.call(null,cljs.core.map.call(null,weathergen.falcon.files.mission.team_number,cljs.core.filter.call(null,(function (p1__29505_SHARP_){
return cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"c-team","c-team",1058111407).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"team","team",1355747699).cljs$core$IFn$_invoke$arity$1(p1__29505_SHARP_)),side);
}),weathergen.falcon.files.mission.teams.call(null,mission))));
});
/**
 * Returns the abstract color corresponding to `team-or-number`.
 */
weathergen.falcon.files.mission.team_color = (function weathergen$falcon$files$mission$team_color(team){
return cljs.core.nth.call(null,new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"white","white",-483998618),new cljs.core.Keyword(null,"green","green",-945526839),new cljs.core.Keyword(null,"blue","blue",-622100620),new cljs.core.Keyword(null,"brown","brown",1414854429),new cljs.core.Keyword(null,"orange","orange",73816386),new cljs.core.Keyword(null,"yellow","yellow",-881035449),new cljs.core.Keyword(null,"red","red",-969428204),new cljs.core.Keyword(null,"grey","grey",1875582333)], null),weathergen.falcon.files.mission.team_number.call(null,team));
});
/**
 * Given a package ID, return its string name, e.g. Package 12345.
 */
weathergen.falcon.files.mission.package_name = (function weathergen$falcon$files$mission$package_name(mission,package_id){
var packages = weathergen.util.filter_EQ_.call(null,new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"package","package",1189062786),new cljs.core.Keyword(null,"units","units",-533089095).cljs$core$IFn$_invoke$arity$1(mission));
return cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"name-id","name-id",-279275372).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.unit_lookup_by_id.call(null,packages,package_id)));
});
/**
 * Returns a map of `:airframe` and `:quantity` for a squadron.
 */
weathergen.falcon.files.mission.squadron_aircraft = (function weathergen$falcon$files$mission$squadron_aircraft(mission,squadron){
try{return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"airframe","airframe",643222926),new cljs.core.Keyword(null,"name","name",1843675177).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,new cljs.core.Keyword(null,"vehicle-class-data","vehicle-class-data",1666024339).cljs$core$IFn$_invoke$arity$1(mission),new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,new cljs.core.Keyword(null,"class-table","class-table",207400992).cljs$core$IFn$_invoke$arity$1(mission),cljs.core.first.call(null,new cljs.core.Keyword(null,"vehicle-type","vehicle-type",-362045068).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,new cljs.core.Keyword(null,"unit-class-data","unit-class-data",2122324209).cljs$core$IFn$_invoke$arity$1(mission),new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,new cljs.core.Keyword(null,"class-table","class-table",207400992).cljs$core$IFn$_invoke$arity$1(mission),(new cljs.core.Keyword(null,"type-id","type-id",2030062700).cljs$core$IFn$_invoke$arity$1(squadron) - (100))))))))))),new cljs.core.Keyword(null,"quantity","quantity",-1929050694),cljs.core.reduce.call(null,cljs.core._PLUS_,(function (){var iter__4523__auto__ = (function weathergen$falcon$files$mission$squadron_aircraft_$_iter__29507(s__29508){
return (new cljs.core.LazySeq(null,(function (){
var s__29508__$1 = s__29508;
while(true){
var temp__5720__auto__ = cljs.core.seq.call(null,s__29508__$1);
if(temp__5720__auto__){
var s__29508__$2 = temp__5720__auto__;
if(cljs.core.chunked_seq_QMARK_.call(null,s__29508__$2)){
var c__4521__auto__ = cljs.core.chunk_first.call(null,s__29508__$2);
var size__4522__auto__ = cljs.core.count.call(null,c__4521__auto__);
var b__29510 = cljs.core.chunk_buffer.call(null,size__4522__auto__);
if((function (){var i__29509 = (0);
while(true){
if((i__29509 < size__4522__auto__)){
var i = cljs.core._nth.call(null,c__4521__auto__,i__29509);
cljs.core.chunk_append.call(null,b__29510,((new cljs.core.Keyword(null,"roster","roster",-2092272532).cljs$core$IFn$_invoke$arity$1(squadron) >> (i * (2))) & (3)));

var G__29511 = (i__29509 + (1));
i__29509 = G__29511;
continue;
} else {
return true;
}
break;
}
})()){
return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__29510),weathergen$falcon$files$mission$squadron_aircraft_$_iter__29507.call(null,cljs.core.chunk_rest.call(null,s__29508__$2)));
} else {
return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__29510),null);
}
} else {
var i = cljs.core.first.call(null,s__29508__$2);
return cljs.core.cons.call(null,((new cljs.core.Keyword(null,"roster","roster",-2092272532).cljs$core$IFn$_invoke$arity$1(squadron) >> (i * (2))) & (3)),weathergen$falcon$files$mission$squadron_aircraft_$_iter__29507.call(null,cljs.core.rest.call(null,s__29508__$2)));
}
} else {
return null;
}
break;
}
}),null,null));
});
return iter__4523__auto__.call(null,cljs.core.range.call(null,(16)));
})())], null);
}catch (e29506){var x = e29506;
taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"error","error",-978969032),"weathergen.falcon.files.mission",null,2495,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),(new cljs.core.Delay(((function (x){
return (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, ["error looking up squadron aircraft",new cljs.core.Keyword(null,"squadron-id","squadron-id",-1941695170),new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(squadron)], null);
});})(x))
,null)),null,2129763198);

throw x;
}});
/**
 * Return the status of an airbase as a number from 0 to 100.
 */
weathergen.falcon.files.mission.airbase_status = (function weathergen$falcon$files$mission$airbase_status(mission,airbase){
var map__29514 = mission;
var map__29514__$1 = (((((!((map__29514 == null))))?(((((map__29514.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29514.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29514):map__29514);
var class_table = cljs.core.get.call(null,map__29514__$1,new cljs.core.Keyword(null,"class-table","class-table",207400992));
var objective_class_data = cljs.core.get.call(null,map__29514__$1,new cljs.core.Keyword(null,"objective-class-data","objective-class-data",-2036255156));
var feature_class_data = cljs.core.get.call(null,map__29514__$1,new cljs.core.Keyword(null,"feature-class-data","feature-class-data",-794349644));
var feature_entry_data = cljs.core.get.call(null,map__29514__$1,new cljs.core.Keyword(null,"feature-entry-data","feature-entry-data",-87481893));
var point_header_data = cljs.core.get.call(null,map__29514__$1,new cljs.core.Keyword(null,"point-header-data","point-header-data",2108405911));
var airbase_class = cljs.core.nth.call(null,objective_class_data,new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.class_table_entry.call(null,mission,airbase)));
var map__29515 = airbase_class;
var map__29515__$1 = (((((!((map__29515 == null))))?(((((map__29515.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29515.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29515):map__29515);
var features = cljs.core.get.call(null,map__29515__$1,new cljs.core.Keyword(null,"features","features",-1146962336));
var first_feature = cljs.core.get.call(null,map__29515__$1,new cljs.core.Keyword(null,"first-feature","first-feature",-1395776257));
var feature_info = cljs.core.subvec.call(null,feature_entry_data,first_feature,(first_feature + features));
var feature_status = (function (){var iter__4523__auto__ = ((function (map__29514,map__29514__$1,class_table,objective_class_data,feature_class_data,feature_entry_data,point_header_data,airbase_class,map__29515,map__29515__$1,features,first_feature,feature_info){
return (function weathergen$falcon$files$mission$airbase_status_$_iter__29519(s__29520){
return (new cljs.core.LazySeq(null,((function (map__29514,map__29514__$1,class_table,objective_class_data,feature_class_data,feature_entry_data,point_header_data,airbase_class,map__29515,map__29515__$1,features,first_feature,feature_info){
return (function (){
var s__29520__$1 = s__29520;
while(true){
var temp__5720__auto__ = cljs.core.seq.call(null,s__29520__$1);
if(temp__5720__auto__){
var s__29520__$2 = temp__5720__auto__;
if(cljs.core.chunked_seq_QMARK_.call(null,s__29520__$2)){
var c__4521__auto__ = cljs.core.chunk_first.call(null,s__29520__$2);
var size__4522__auto__ = cljs.core.count.call(null,c__4521__auto__);
var b__29522 = cljs.core.chunk_buffer.call(null,size__4522__auto__);
if((function (){var i__29521 = (0);
while(true){
if((i__29521 < size__4522__auto__)){
var f = cljs.core._nth.call(null,c__4521__auto__,i__29521);
cljs.core.chunk_append.call(null,b__29522,(function (){var i = cljs.core.long$.call(null,(f / (4)));
var f_STAR_ = (f - (i * (4)));
if((((f_STAR_ < (0))) || (((255) < f_STAR_)) || ((cljs.core.count.call(null,new cljs.core.Keyword(null,"f-status","f-status",782756103).cljs$core$IFn$_invoke$arity$1(airbase)) <= i)))){
return (0);
} else {
return ((cljs.core.nth.call(null,new cljs.core.Keyword(null,"f-status","f-status",782756103).cljs$core$IFn$_invoke$arity$1(airbase),i,(0)) >> (f_STAR_ * (2))) & (3));
}
})());

var G__29527 = (i__29521 + (1));
i__29521 = G__29527;
continue;
} else {
return true;
}
break;
}
})()){
return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__29522),weathergen$falcon$files$mission$airbase_status_$_iter__29519.call(null,cljs.core.chunk_rest.call(null,s__29520__$2)));
} else {
return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__29522),null);
}
} else {
var f = cljs.core.first.call(null,s__29520__$2);
return cljs.core.cons.call(null,(function (){var i = cljs.core.long$.call(null,(f / (4)));
var f_STAR_ = (f - (i * (4)));
if((((f_STAR_ < (0))) || (((255) < f_STAR_)) || ((cljs.core.count.call(null,new cljs.core.Keyword(null,"f-status","f-status",782756103).cljs$core$IFn$_invoke$arity$1(airbase)) <= i)))){
return (0);
} else {
return ((cljs.core.nth.call(null,new cljs.core.Keyword(null,"f-status","f-status",782756103).cljs$core$IFn$_invoke$arity$1(airbase),i,(0)) >> (f_STAR_ * (2))) & (3));
}
})(),weathergen$falcon$files$mission$airbase_status_$_iter__29519.call(null,cljs.core.rest.call(null,s__29520__$2)));
}
} else {
return null;
}
break;
}
});})(map__29514,map__29514__$1,class_table,objective_class_data,feature_class_data,feature_entry_data,point_header_data,airbase_class,map__29515,map__29515__$1,features,first_feature,feature_info))
,null,null));
});})(map__29514,map__29514__$1,class_table,objective_class_data,feature_class_data,feature_entry_data,point_header_data,airbase_class,map__29515,map__29515__$1,features,first_feature,feature_info))
;
return iter__4523__auto__.call(null,cljs.core.range.call(null,features));
})();
var feature_class_info = cljs.core.mapv.call(null,((function (map__29514,map__29514__$1,class_table,objective_class_data,feature_class_data,feature_entry_data,point_header_data,airbase_class,map__29515,map__29515__$1,features,first_feature,feature_info,feature_status){
return (function (feature){
var ci = cljs.core.nth.call(null,class_table,new cljs.core.Keyword(null,"index","index",-1531685915).cljs$core$IFn$_invoke$arity$1(feature));
return cljs.core.assoc.call(null,ci,new cljs.core.Keyword(null,"feature-class-info","feature-class-info",1970317689),cljs.core.nth.call(null,feature_class_data,new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382).cljs$core$IFn$_invoke$arity$1(ci)));
});})(map__29514,map__29514__$1,class_table,objective_class_data,feature_class_data,feature_entry_data,point_header_data,airbase_class,map__29515,map__29515__$1,features,first_feature,feature_info,feature_status))
,feature_info);
var feature_info__$1 = cljs.core.mapv.call(null,((function (map__29514,map__29514__$1,class_table,objective_class_data,feature_class_data,feature_entry_data,point_header_data,airbase_class,map__29515,map__29515__$1,features,first_feature,feature_info,feature_status,feature_class_info){
return (function (fi,fs,fci){
return cljs.core.assoc.call(null,fi,new cljs.core.Keyword(null,"status","status",-1997798413),fs,new cljs.core.Keyword(null,"class-info","class-info",-467052058),fci);
});})(map__29514,map__29514__$1,class_table,objective_class_data,feature_class_data,feature_entry_data,point_header_data,airbase_class,map__29515,map__29515__$1,features,first_feature,feature_info,feature_status,feature_class_info))
,feature_info,feature_status,feature_class_info);
var runway_QMARK_ = ((function (map__29514,map__29514__$1,class_table,objective_class_data,feature_class_data,feature_entry_data,point_header_data,airbase_class,map__29515,map__29515__$1,features,first_feature,feature_info,feature_status,feature_class_info,feature_info__$1){
return (function (feature){
return cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"type","type",1174270348).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"class-info","class-info",-467052058).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"class-info","class-info",-467052058).cljs$core$IFn$_invoke$arity$1(feature)))),weathergen.falcon.constants.TYPE_RUNWAY);
});})(map__29514,map__29514__$1,class_table,objective_class_data,feature_class_data,feature_entry_data,point_header_data,airbase_class,map__29515,map__29515__$1,features,first_feature,feature_info,feature_status,feature_class_info,feature_info__$1))
;
var nonrunway_statuses = (function (){var x__4219__auto__ = (0);
var y__4220__auto__ = ((100) - cljs.core.reduce.call(null,((function (x__4219__auto__,map__29514,map__29514__$1,class_table,objective_class_data,feature_class_data,feature_entry_data,point_header_data,airbase_class,map__29515,map__29515__$1,features,first_feature,feature_info,feature_status,feature_class_info,feature_info__$1,runway_QMARK_){
return (function (score,feature){
return (score + (function (){var pred__29523 = cljs.core._EQ_;
var expr__29524 = new cljs.core.Keyword(null,"status","status",-1997798413).cljs$core$IFn$_invoke$arity$1(feature);
if(cljs.core.truth_(pred__29523.call(null,weathergen.falcon.constants.VIS_DAMAGED,expr__29524))){
return cljs.core.long$.call(null,(new cljs.core.Keyword(null,"value","value",305978217).cljs$core$IFn$_invoke$arity$1(feature) / (2)));
} else {
if(cljs.core.truth_(pred__29523.call(null,weathergen.falcon.constants.VIS_DESTROYED,expr__29524))){
return new cljs.core.Keyword(null,"value","value",305978217).cljs$core$IFn$_invoke$arity$1(feature);
} else {
return (0);
}
}
})());
});})(x__4219__auto__,map__29514,map__29514__$1,class_table,objective_class_data,feature_class_data,feature_entry_data,point_header_data,airbase_class,map__29515,map__29515__$1,features,first_feature,feature_info,feature_status,feature_class_info,feature_info__$1,runway_QMARK_))
,(0),cljs.core.remove.call(null,runway_QMARK_,feature_info__$1)));
return ((x__4219__auto__ > y__4220__auto__) ? x__4219__auto__ : y__4220__auto__);
})();
var runway_statuses = (function (){var index = new cljs.core.Keyword(null,"pt-data-index","pt-data-index",-54255967).cljs$core$IFn$_invoke$arity$1(airbase_class);
var runway_stats = new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"total","total",1916810418),(0),new cljs.core.Keyword(null,"destroyed","destroyed",-427566535),(0)], null);
while(true){
var point_header = cljs.core.nth.call(null,point_header_data,index);
if((index === (0))){
return runway_stats;
} else {
var G__29528 = new cljs.core.Keyword(null,"next-header","next-header",1386001069).cljs$core$IFn$_invoke$arity$1(point_header);
var G__29529 = (((!(cljs.core._EQ_.call(null,weathergen.falcon.constants.RunwayPt,new cljs.core.Keyword(null,"type","type",1174270348).cljs$core$IFn$_invoke$arity$1(point_header)))))?runway_stats:cljs.core.update.call(null,cljs.core.update.call(null,runway_stats,new cljs.core.Keyword(null,"total","total",1916810418),cljs.core.inc),new cljs.core.Keyword(null,"destroyed","destroyed",-427566535),cljs.core._PLUS_,(cljs.core.truth_(cljs.core.some.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.VIS_DESTROYED]),cljs.core.map.call(null,new cljs.core.Keyword(null,"status","status",-1997798413),cljs.core.map.call(null,((function (index,runway_stats,point_header,map__29514,map__29514__$1,class_table,objective_class_data,feature_class_data,feature_entry_data,point_header_data,airbase_class,map__29515,map__29515__$1,features,first_feature,feature_info,feature_status,feature_class_info,feature_info__$1,runway_QMARK_,nonrunway_statuses){
return (function (p1__29513_SHARP_){
return cljs.core.nth.call(null,feature_info__$1,p1__29513_SHARP_);
});})(index,runway_stats,point_header,map__29514,map__29514__$1,class_table,objective_class_data,feature_class_data,feature_entry_data,point_header_data,airbase_class,map__29515,map__29515__$1,features,first_feature,feature_info,feature_status,feature_class_info,feature_info__$1,runway_QMARK_,nonrunway_statuses))
,cljs.core.take_while.call(null,((function (index,runway_stats,point_header,map__29514,map__29514__$1,class_table,objective_class_data,feature_class_data,feature_entry_data,point_header_data,airbase_class,map__29515,map__29515__$1,features,first_feature,feature_info,feature_status,feature_class_info,feature_info__$1,runway_QMARK_,nonrunway_statuses){
return (function (p1__29512_SHARP_){
return (p1__29512_SHARP_ < (255));
});})(index,runway_stats,point_header,map__29514,map__29514__$1,class_table,objective_class_data,feature_class_data,feature_entry_data,point_header_data,airbase_class,map__29515,map__29515__$1,features,first_feature,feature_info,feature_status,feature_class_info,feature_info__$1,runway_QMARK_,nonrunway_statuses))
,new cljs.core.Keyword(null,"features","features",-1146962336).cljs$core$IFn$_invoke$arity$1(point_header))))))?(1):(0))));
index = G__29528;
runway_stats = G__29529;
continue;

}
break;
}
})();
var map__29516 = runway_statuses;
var map__29516__$1 = (((((!((map__29516 == null))))?(((((map__29516.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29516.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29516):map__29516);
var total = cljs.core.get.call(null,map__29516__$1,new cljs.core.Keyword(null,"total","total",1916810418));
var destroyed = cljs.core.get.call(null,map__29516__$1,new cljs.core.Keyword(null,"destroyed","destroyed",-427566535));
var runway_score = (((total === (0)))?(100):((100) - cljs.core.long$.call(null,((100) * (destroyed / total)))));
var x__4222__auto__ = runway_score;
var y__4223__auto__ = nonrunway_statuses;
return ((x__4222__auto__ < y__4223__auto__) ? x__4222__auto__ : y__4223__auto__);
});
weathergen.falcon.files.mission.objective_status = (function weathergen$falcon$files$mission$objective_status(mission,objective){
return weathergen.falcon.files.mission.airbase_status.call(null,mission,objective);
});
weathergen.falcon.files.mission.air_icon_resource_prefix = new cljs.core.PersistentArrayMap(null, 8, [new cljs.core.Keyword(null,"white","white",-483998618),"wh",new cljs.core.Keyword(null,"green","green",-945526839),"gn",new cljs.core.Keyword(null,"blue","blue",-622100620),"bl",new cljs.core.Keyword(null,"brown","brown",1414854429),"br",new cljs.core.Keyword(null,"orange","orange",73816386),"or",new cljs.core.Keyword(null,"yellow","yellow",-881035449),"yl",new cljs.core.Keyword(null,"red","red",-969428204),"rd",new cljs.core.Keyword(null,"grey","grey",1875582333),"gy"], null);
/**
 * Returns an image descriptor for a squadron.
 */
weathergen.falcon.files.mission.squadron_image = (function weathergen$falcon$files$mission$squadron_image(mission,squadron){
var map__29530 = squadron;
var map__29530__$1 = (((((!((map__29530 == null))))?(((((map__29530.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29530.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29530):map__29530);
var owner = cljs.core.get.call(null,map__29530__$1,new cljs.core.Keyword(null,"owner","owner",-392611939));
var map__29531 = weathergen.falcon.files.mission.unit_class_entry.call(null,mission,squadron);
var map__29531__$1 = (((((!((map__29531 == null))))?(((((map__29531.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29531.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29531):map__29531);
var icon_index = cljs.core.get.call(null,map__29531__$1,new cljs.core.Keyword(null,"icon-index","icon-index",-42714286));
var map__29532 = mission;
var map__29532__$1 = (((((!((map__29532 == null))))?(((((map__29532.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29532.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29532):map__29532);
var image_ids = cljs.core.get.call(null,map__29532__$1,new cljs.core.Keyword(null,"image-ids","image-ids",-529925649));
return weathergen.falcon.files.images.make_descriptor.call(null,mission,["resource/",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.air_icon_resource_prefix.call(null,weathergen.falcon.files.mission.team_color.call(null,owner))),"air_nn"].join(''),cljs.core.get_in.call(null,image_ids,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"id->name","id->name",249122446),icon_index], null)));
});
weathergen.falcon.files.mission.icon_resource_prefix = new cljs.core.PersistentArrayMap(null, 8, [new cljs.core.Keyword(null,"white","white",-483998618),"wht",new cljs.core.Keyword(null,"green","green",-945526839),"grn",new cljs.core.Keyword(null,"blue","blue",-622100620),"blu",new cljs.core.Keyword(null,"brown","brown",1414854429),"brn",new cljs.core.Keyword(null,"orange","orange",73816386),"orn",new cljs.core.Keyword(null,"yellow","yellow",-881035449),"ylw",new cljs.core.Keyword(null,"red","red",-969428204),"red",new cljs.core.Keyword(null,"grey","grey",1875582333),"gry"], null);
/**
 * Returns an image descriptor for an objective.
 */
weathergen.falcon.files.mission.objective_image = (function weathergen$falcon$files$mission$objective_image(mission,objective){
var map__29536 = objective;
var map__29536__$1 = (((((!((map__29536 == null))))?(((((map__29536.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29536.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29536):map__29536);
var owner = cljs.core.get.call(null,map__29536__$1,new cljs.core.Keyword(null,"owner","owner",-392611939));
var map__29537 = weathergen.falcon.files.mission.objective_class_entry.call(null,mission,objective);
var map__29537__$1 = (((((!((map__29537 == null))))?(((((map__29537.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29537.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29537):map__29537);
var icon_index = cljs.core.get.call(null,map__29537__$1,new cljs.core.Keyword(null,"icon-index","icon-index",-42714286));
var map__29538 = mission;
var map__29538__$1 = (((((!((map__29538 == null))))?(((((map__29538.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29538.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29538):map__29538);
var image_ids = cljs.core.get.call(null,map__29538__$1,new cljs.core.Keyword(null,"image-ids","image-ids",-529925649));
return weathergen.falcon.files.images.make_descriptor.call(null,mission,["resource/",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.icon_resource_prefix.call(null,weathergen.falcon.files.mission.team_color.call(null,owner))),"dark"].join(''),cljs.core.get_in.call(null,image_ids,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"id->name","id->name",249122446),icon_index], null)));
});
/**
 * Returns an image descriptor for a unit.
 */
weathergen.falcon.files.mission.unit_image = (function weathergen$falcon$files$mission$unit_image(mission,unit){
var map__29542 = unit;
var map__29542__$1 = (((((!((map__29542 == null))))?(((((map__29542.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29542.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29542):map__29542);
var owner = cljs.core.get.call(null,map__29542__$1,new cljs.core.Keyword(null,"owner","owner",-392611939));
var map__29543 = weathergen.falcon.files.mission.unit_class_entry.call(null,mission,unit);
var map__29543__$1 = (((((!((map__29543 == null))))?(((((map__29543.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29543.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29543):map__29543);
var icon_index = cljs.core.get.call(null,map__29543__$1,new cljs.core.Keyword(null,"icon-index","icon-index",-42714286));
var map__29544 = mission;
var map__29544__$1 = (((((!((map__29544 == null))))?(((((map__29544.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29544.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29544):map__29544);
var image_ids = cljs.core.get.call(null,map__29544__$1,new cljs.core.Keyword(null,"image-ids","image-ids",-529925649));
return weathergen.falcon.files.images.make_descriptor.call(null,mission,["resource/",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.icon_resource_prefix.call(null,weathergen.falcon.files.mission.team_color.call(null,owner))),"dark"].join(''),cljs.core.get_in.call(null,image_ids,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"id->name","id->name",249122446),icon_index], null)));
});
/**
 * Returns a string describing the type of the squadron - Fighter,
 *   Attack, etc.
 */
weathergen.falcon.files.mission.squadron_type = (function weathergen$falcon$files$mission$squadron_type(mission,squadron){
return new cljs.core.Keyword(null,"name","name",1843675177).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.unit_class_entry.call(null,mission,squadron));
});
/**
 * Returns the name of a carrier task force unit.
 */
weathergen.falcon.files.mission.carrier_name = (function weathergen$falcon$files$mission$carrier_name(mission,carrier){
return new cljs.core.Keyword(null,"name","name",1843675177).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,new cljs.core.Keyword(null,"vehicle-class-data","vehicle-class-data",1666024339).cljs$core$IFn$_invoke$arity$1(mission),new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.class_table_entry.call(null,mission,carrier))));
});
/**
 * Returns the airbase objective for the given squadron.
 */
weathergen.falcon.files.mission.squadron_airbase = (function weathergen$falcon$files$mission$squadron_airbase(mission,squadron){
var temp__5718__auto__ = weathergen.falcon.files.mission.find_objective.call(null,mission,new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"airbase-id","airbase-id",-1975592308).cljs$core$IFn$_invoke$arity$1(squadron));
if(cljs.core.truth_(temp__5718__auto__)){
var airbase = temp__5718__auto__;
return cljs.core.assoc.call(null,airbase,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),weathergen.falcon.files.mission.objective_name.call(null,mission,airbase));
} else {
var temp__5720__auto__ = weathergen.falcon.files.mission.find_unit.call(null,mission,new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"airbase-id","airbase-id",-1975592308).cljs$core$IFn$_invoke$arity$1(squadron));
if(cljs.core.truth_(temp__5720__auto__)){
var carrier = temp__5720__auto__;
return cljs.core.assoc.call(null,carrier,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),weathergen.falcon.files.mission.carrier_name.call(null,mission,carrier));
} else {
return null;
}
}
});
/**
 * Return a seq of all the flights in a mission
 */
weathergen.falcon.files.mission.flights = (function weathergen$falcon$files$mission$flights(mission){
return weathergen.progress.with_step.call(null,"Processing flights",(function (){
var G__29549 = mission;
var G__29549__$1 = (((G__29549 == null))?null:weathergen.falcon.files.mission.active_units.call(null,G__29549));
var G__29549__$2 = (((G__29549__$1 == null))?null:cljs.core.filter.call(null,((function (G__29549,G__29549__$1){
return (function (p1__29548_SHARP_){
return cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"type","type",1174270348).cljs$core$IFn$_invoke$arity$1(p1__29548_SHARP_),new cljs.core.Keyword(null,"flight","flight",-764860679));
});})(G__29549,G__29549__$1))
,G__29549__$1));
if((G__29549__$2 == null)){
return null;
} else {
return cljs.core.map.call(null,((function (G__29549,G__29549__$1,G__29549__$2){
return (function (flight){
var squadron = weathergen.falcon.files.mission.find_unit.call(null,mission,new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"squadron","squadron",-1131671273).cljs$core$IFn$_invoke$arity$1(flight));
return cljs.core.assoc.call(null,flight,new cljs.core.Keyword("weathergen.falcon.files.mission","mission","weathergen.falcon.files.mission/mission",43331456),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.mission.flight_mission_name.call(null,mission,flight),new cljs.core.Keyword(null,"category","category",-593092832),weathergen.falcon.files.mission.flight_mission_category.call(null,mission,flight)], null),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron","weathergen.falcon.files.mission/squadron",463902337),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"name","name",1843675177),((cljs.core.not.call(null,squadron))?"Unknown":weathergen.falcon.files.mission.unit_name.call(null,mission,squadron))], null),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-image","weathergen.falcon.files.mission/squadron-image",-423118152),(cljs.core.truth_(squadron)?weathergen.falcon.files.mission.squadron_image.call(null,mission,squadron):null),new cljs.core.Keyword("weathergen.falcon.files.mission","airbase","weathergen.falcon.files.mission/airbase",-1926407441),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"name","name",1843675177),((cljs.core.not.call(null,squadron))?"Unknown":new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.squadron_airbase.call(null,mission,squadron)))], null),new cljs.core.Keyword("weathergen.falcon.files.mission","package","weathergen.falcon.files.mission/package",-1415630340),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.mission.package_name.call(null,mission,new cljs.core.Keyword(null,"package","package",1189062786).cljs$core$IFn$_invoke$arity$1(flight))], null),new cljs.core.Keyword("weathergen.falcon.files.mission","waypoints","weathergen.falcon.files.mission/waypoints",712228162),weathergen.falcon.files.mission.flight_waypoints.call(null,mission,flight),new cljs.core.Keyword("weathergen.falcon.files.mission","loadouts","weathergen.falcon.files.mission/loadouts",142269567),weathergen.falcon.files.mission.flight_loadouts.call(null,mission,flight),new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"airframe","airframe",643222926),((cljs.core.not.call(null,squadron))?"Unknown":new cljs.core.Keyword(null,"airframe","airframe",643222926).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.squadron_aircraft.call(null,mission,squadron))),new cljs.core.Keyword(null,"quantity","quantity",-1929050694),weathergen.falcon.files.mission.flight_aircraft_quantity.call(null,flight)], null));
});})(G__29549,G__29549__$1,G__29549__$2))
,G__29549__$2);
}
}));
});
/**
 * Return a map of airbase IDs to squadrons in mission.
 */
weathergen.falcon.files.mission.squadrons = (function weathergen$falcon$files$mission$squadrons(mission){
return weathergen.progress.with_step.call(null,"Processing squadrons",(function (){
return cljs.core.group_by.call(null,new cljs.core.Keyword(null,"airbase-id","airbase-id",-1975592308),cljs.core.map.call(null,(function (squadron){
return cljs.core.assoc.call(null,squadron,new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258),weathergen.falcon.files.mission.squadron_aircraft.call(null,mission,squadron),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-type","weathergen.falcon.files.mission/squadron-type",1124226793),weathergen.falcon.files.mission.squadron_type.call(null,mission,squadron),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),weathergen.falcon.files.mission.squadron_image.call(null,mission,squadron));
}),new cljs.core.Keyword(null,"squadron","squadron",-1131671273).cljs$core$IFn$_invoke$arity$1(cljs.core.group_by.call(null,new cljs.core.Keyword(null,"type","type",1174270348),weathergen.falcon.files.mission.active_units.call(null,mission)))));
}));
});
weathergen.falcon.files.mission.objective_features = (function weathergen$falcon$files$mission$objective_features(mission,objective){
var map__29551 = mission;
var map__29551__$1 = (((((!((map__29551 == null))))?(((((map__29551.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29551.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29551):map__29551);
var class_table = cljs.core.get.call(null,map__29551__$1,new cljs.core.Keyword(null,"class-table","class-table",207400992));
var objective_class_data = cljs.core.get.call(null,map__29551__$1,new cljs.core.Keyword(null,"objective-class-data","objective-class-data",-2036255156));
var feature_class_data = cljs.core.get.call(null,map__29551__$1,new cljs.core.Keyword(null,"feature-class-data","feature-class-data",-794349644));
var feature_entry_data = cljs.core.get.call(null,map__29551__$1,new cljs.core.Keyword(null,"feature-entry-data","feature-entry-data",-87481893));
var point_header_data = cljs.core.get.call(null,map__29551__$1,new cljs.core.Keyword(null,"point-header-data","point-header-data",2108405911));
var objectives = cljs.core.get.call(null,map__29551__$1,new cljs.core.Keyword(null,"objectives","objectives",933939509));
var oce = weathergen.falcon.files.mission.objective_class_entry.call(null,mission,objective);
var map__29552 = oce;
var map__29552__$1 = (((((!((map__29552 == null))))?(((((map__29552.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29552.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29552):map__29552);
var features = cljs.core.get.call(null,map__29552__$1,new cljs.core.Keyword(null,"features","features",-1146962336));
var first_feature = cljs.core.get.call(null,map__29552__$1,new cljs.core.Keyword(null,"first-feature","first-feature",-1395776257));
var feature_info = cljs.core.map.call(null,((function (map__29551,map__29551__$1,class_table,objective_class_data,feature_class_data,feature_entry_data,point_header_data,objectives,oce,map__29552,map__29552__$1,features,first_feature){
return (function (p1__29550_SHARP_){
return cljs.core.nth.call(null,feature_entry_data,p1__29550_SHARP_);
});})(map__29551,map__29551__$1,class_table,objective_class_data,feature_class_data,feature_entry_data,point_header_data,objectives,oce,map__29552,map__29552__$1,features,first_feature))
,cljs.core.range.call(null,first_feature,(first_feature + features)));
var feature_class_info = cljs.core.map.call(null,((function (map__29551,map__29551__$1,class_table,objective_class_data,feature_class_data,feature_entry_data,point_header_data,objectives,oce,map__29552,map__29552__$1,features,first_feature,feature_info){
return (function (feature){
var ci = cljs.core.nth.call(null,class_table,new cljs.core.Keyword(null,"index","index",-1531685915).cljs$core$IFn$_invoke$arity$1(feature));
return cljs.core.assoc.call(null,ci,new cljs.core.Keyword("weathergen.falcon.files.mission","feature-class-info","weathergen.falcon.files.mission/feature-class-info",1346129647),cljs.core.nth.call(null,feature_class_data,new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382).cljs$core$IFn$_invoke$arity$1(ci)));
});})(map__29551,map__29551__$1,class_table,objective_class_data,feature_class_data,feature_entry_data,point_header_data,objectives,oce,map__29552,map__29552__$1,features,first_feature,feature_info))
,feature_info);
var feature_status = (function (){var iter__4523__auto__ = ((function (map__29551,map__29551__$1,class_table,objective_class_data,feature_class_data,feature_entry_data,point_header_data,objectives,oce,map__29552,map__29552__$1,features,first_feature,feature_info,feature_class_info){
return (function weathergen$falcon$files$mission$objective_features_$_iter__29555(s__29556){
return (new cljs.core.LazySeq(null,((function (map__29551,map__29551__$1,class_table,objective_class_data,feature_class_data,feature_entry_data,point_header_data,objectives,oce,map__29552,map__29552__$1,features,first_feature,feature_info,feature_class_info){
return (function (){
var s__29556__$1 = s__29556;
while(true){
var temp__5720__auto__ = cljs.core.seq.call(null,s__29556__$1);
if(temp__5720__auto__){
var s__29556__$2 = temp__5720__auto__;
if(cljs.core.chunked_seq_QMARK_.call(null,s__29556__$2)){
var c__4521__auto__ = cljs.core.chunk_first.call(null,s__29556__$2);
var size__4522__auto__ = cljs.core.count.call(null,c__4521__auto__);
var b__29558 = cljs.core.chunk_buffer.call(null,size__4522__auto__);
if((function (){var i__29557 = (0);
while(true){
if((i__29557 < size__4522__auto__)){
var f = cljs.core._nth.call(null,c__4521__auto__,i__29557);
cljs.core.chunk_append.call(null,b__29558,(function (){var i = cljs.core.long$.call(null,(f / (4)));
var f_STAR_ = (f - (i * (4)));
if((((f_STAR_ < (0))) || (((255) < f_STAR_)) || ((cljs.core.count.call(null,new cljs.core.Keyword(null,"f-status","f-status",782756103).cljs$core$IFn$_invoke$arity$1(objective)) <= i)))){
return (0);
} else {
return ((cljs.core.nth.call(null,new cljs.core.Keyword(null,"f-status","f-status",782756103).cljs$core$IFn$_invoke$arity$1(objective),i,(0)) >> (f_STAR_ * (2))) & (3));
}
})());

var G__29559 = (i__29557 + (1));
i__29557 = G__29559;
continue;
} else {
return true;
}
break;
}
})()){
return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__29558),weathergen$falcon$files$mission$objective_features_$_iter__29555.call(null,cljs.core.chunk_rest.call(null,s__29556__$2)));
} else {
return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__29558),null);
}
} else {
var f = cljs.core.first.call(null,s__29556__$2);
return cljs.core.cons.call(null,(function (){var i = cljs.core.long$.call(null,(f / (4)));
var f_STAR_ = (f - (i * (4)));
if((((f_STAR_ < (0))) || (((255) < f_STAR_)) || ((cljs.core.count.call(null,new cljs.core.Keyword(null,"f-status","f-status",782756103).cljs$core$IFn$_invoke$arity$1(objective)) <= i)))){
return (0);
} else {
return ((cljs.core.nth.call(null,new cljs.core.Keyword(null,"f-status","f-status",782756103).cljs$core$IFn$_invoke$arity$1(objective),i,(0)) >> (f_STAR_ * (2))) & (3));
}
})(),weathergen$falcon$files$mission$objective_features_$_iter__29555.call(null,cljs.core.rest.call(null,s__29556__$2)));
}
} else {
return null;
}
break;
}
});})(map__29551,map__29551__$1,class_table,objective_class_data,feature_class_data,feature_entry_data,point_header_data,objectives,oce,map__29552,map__29552__$1,features,first_feature,feature_info,feature_class_info))
,null,null));
});})(map__29551,map__29551__$1,class_table,objective_class_data,feature_class_data,feature_entry_data,point_header_data,objectives,oce,map__29552,map__29552__$1,features,first_feature,feature_info,feature_class_info))
;
return iter__4523__auto__.call(null,cljs.core.range.call(null,features));
})();
return cljs.core.mapv.call(null,((function (map__29551,map__29551__$1,class_table,objective_class_data,feature_class_data,feature_entry_data,point_header_data,objectives,oce,map__29552,map__29552__$1,features,first_feature,feature_info,feature_class_info,feature_status){
return (function (fi,fs,fci){
return cljs.core.assoc.call(null,fi,new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),fs,new cljs.core.Keyword("weathergen.falcon.files.mission","class-info","weathergen.falcon.files.mission/class-info",-1092492204),fci);
});})(map__29551,map__29551__$1,class_table,objective_class_data,feature_class_data,feature_entry_data,point_header_data,objectives,oce,map__29552,map__29552__$1,features,first_feature,feature_info,feature_class_info,feature_status))
,feature_info,feature_status,feature_class_info);
});
/**
 * Returns all the objectives.
 */
weathergen.falcon.files.mission.objectives = (function weathergen$falcon$files$mission$objectives(mission){
return weathergen.progress.with_step.call(null,"Processing objectives",(function (){
return cljs.core.mapv.call(null,(function (p1__29560_SHARP_){
return cljs.core.assoc.call(null,p1__29560_SHARP_,new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),cljs.core.select_keys.call(null,p1__29560_SHARP_,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"x","x",2099068185),new cljs.core.Keyword(null,"y","y",-1757859776)], null)),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),weathergen.falcon.files.mission.objective_status.call(null,mission,p1__29560_SHARP_),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),weathergen.falcon.files.mission.objective_image.call(null,mission,p1__29560_SHARP_),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),weathergen.falcon.files.mission.objective_name.call(null,mission,p1__29560_SHARP_),new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694),weathergen.falcon.files.mission.objective_features.call(null,mission,p1__29560_SHARP_));
}),new cljs.core.Keyword(null,"objectives","objectives",933939509).cljs$core$IFn$_invoke$arity$1(mission));
}));
});
/**
 * Returns all the airbase and airstrip objectives.
 */
weathergen.falcon.files.mission.airbases = (function weathergen$falcon$files$mission$airbases(mission){
return weathergen.progress.with_step.call(null,"Processing airbases",(function (){
var airbase_classes = cljs.core.set.call(null,cljs.core.map.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),cljs.core.remove.call(null,(function (cls){
return cljs.core._EQ_.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(255),(7)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.get_in.call(null,cls,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"stype","stype",-63678419)], null)),cljs.core.get_in.call(null,cls,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"sptype","sptype",-1425026030)], null))], null));
}),cljs.core.filter.call(null,(function (p1__29563_SHARP_){
return cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.TYPE_AIRBASE,weathergen.falcon.constants.TYPE_AIRSTRIP]).call(null,cljs.core.get_in.call(null,p1__29563_SHARP_,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"type","type",1174270348)], null)));
}),weathergen.util.filter_EQ_.call(null,(function (p1__29562_SHARP_){
return cljs.core.get_in.call(null,p1__29562_SHARP_,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"class","class",-2030961996)], null));
}),weathergen.falcon.constants.CLASS_OBJECTIVE,weathergen.util.filter_EQ_.call(null,(function (p1__29561_SHARP_){
return cljs.core.get_in.call(null,p1__29561_SHARP_,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"domain","domain",1847214937)], null));
}),weathergen.falcon.constants.DOMAIN_LAND,new cljs.core.Keyword(null,"class-table","class-table",207400992).cljs$core$IFn$_invoke$arity$1(mission)))))));
return cljs.core.mapv.call(null,((function (airbase_classes){
return (function (p1__29564_SHARP_){
return cljs.core.assoc.call(null,p1__29564_SHARP_,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),cljs.core.get.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110).cljs$core$IFn$_invoke$arity$1(mission),new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(p1__29564_SHARP_)));
});})(airbase_classes))
,cljs.core.filterv.call(null,((function (airbase_classes){
return (function (objective){
return airbase_classes.call(null,(new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125).cljs$core$IFn$_invoke$arity$1(objective) - (100)));
});})(airbase_classes))
,new cljs.core.Keyword("weathergen.falcon.files.mission","objectives","weathergen.falcon.files.mission/objectives",410009507).cljs$core$IFn$_invoke$arity$1(mission)));
}));
});
/**
 * Returns all the carrier task force units in the mission.
 */
weathergen.falcon.files.mission.carriers = (function weathergen$falcon$files$mission$carriers(mission){
return weathergen.progress.with_step.call(null,"Processing carriers",(function (){
var carrier_classes = cljs.core.set.call(null,cljs.core.map.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),weathergen.util.filter_EQ_.call(null,(function (p1__29568_SHARP_){
return cljs.core.get_in.call(null,p1__29568_SHARP_,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"stype","stype",-63678419)], null));
}),weathergen.falcon.constants.STYPE_UNIT_CARRIER,weathergen.util.filter_EQ_.call(null,(function (p1__29567_SHARP_){
return cljs.core.get_in.call(null,p1__29567_SHARP_,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"type","type",1174270348)], null));
}),weathergen.falcon.constants.TYPE_TASKFORCE,weathergen.util.filter_EQ_.call(null,(function (p1__29566_SHARP_){
return cljs.core.get_in.call(null,p1__29566_SHARP_,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"class","class",-2030961996)], null));
}),weathergen.falcon.constants.CLASS_UNIT,weathergen.util.filter_EQ_.call(null,(function (p1__29565_SHARP_){
return cljs.core.get_in.call(null,p1__29565_SHARP_,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"domain","domain",1847214937)], null),weathergen.falcon.constants.DOMAIN_SEA);
}),weathergen.falcon.constants.DOMAIN_SEA,new cljs.core.Keyword(null,"class-table","class-table",207400992).cljs$core$IFn$_invoke$arity$1(mission)))))));
return cljs.core.mapv.call(null,((function (carrier_classes){
return (function (p1__29569_SHARP_){
return cljs.core.assoc.call(null,p1__29569_SHARP_,new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),cljs.core.select_keys.call(null,p1__29569_SHARP_,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"x","x",2099068185),new cljs.core.Keyword(null,"y","y",-1757859776)], null)),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),(100),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),cljs.core.get.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110).cljs$core$IFn$_invoke$arity$1(mission),new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(p1__29569_SHARP_)),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),weathergen.falcon.files.mission.unit_image.call(null,mission,p1__29569_SHARP_),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),weathergen.falcon.files.mission.carrier_name.call(null,mission,p1__29569_SHARP_));
});})(carrier_classes))
,cljs.core.filterv.call(null,((function (carrier_classes){
return (function (unit){
return carrier_classes.call(null,(new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125).cljs$core$IFn$_invoke$arity$1(unit) - (100)));
});})(carrier_classes))
,weathergen.falcon.files.mission.active_units.call(null,mission)));
}));
});
/**
 * Returns all the army base objectives.
 */
weathergen.falcon.files.mission.army_bases = (function weathergen$falcon$files$mission$army_bases(mission){
return weathergen.progress.with_step.call(null,"Processing army bases",(function (){
var armybase_classes = cljs.core.set.call(null,cljs.core.map.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),weathergen.util.filter_EQ_.call(null,(function (p1__29572_SHARP_){
return cljs.core.get_in.call(null,p1__29572_SHARP_,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"type","type",1174270348)], null));
}),weathergen.falcon.constants.TYPE_ARMYBASE,weathergen.util.filter_EQ_.call(null,(function (p1__29571_SHARP_){
return cljs.core.get_in.call(null,p1__29571_SHARP_,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"class","class",-2030961996)], null));
}),weathergen.falcon.constants.CLASS_OBJECTIVE,weathergen.util.filter_EQ_.call(null,(function (p1__29570_SHARP_){
return cljs.core.get_in.call(null,p1__29570_SHARP_,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"domain","domain",1847214937)], null));
}),weathergen.falcon.constants.DOMAIN_LAND,new cljs.core.Keyword(null,"class-table","class-table",207400992).cljs$core$IFn$_invoke$arity$1(mission))))));
return cljs.core.mapv.call(null,((function (armybase_classes){
return (function (p1__29573_SHARP_){
return cljs.core.assoc.call(null,p1__29573_SHARP_,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),cljs.core.get.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110).cljs$core$IFn$_invoke$arity$1(mission),new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(p1__29573_SHARP_)));
});})(armybase_classes))
,cljs.core.filterv.call(null,((function (armybase_classes){
return (function (objective){
return armybase_classes.call(null,(new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125).cljs$core$IFn$_invoke$arity$1(objective) - (100)));
});})(armybase_classes))
,new cljs.core.Keyword("weathergen.falcon.files.mission","objectives","weathergen.falcon.files.mission/objectives",410009507).cljs$core$IFn$_invoke$arity$1(mission)));
}));
});
/**
 * Returns all the weapons.
 */
weathergen.falcon.files.mission.weapons = (function weathergen$falcon$files$mission$weapons(mission){
return weathergen.progress.with_step.call(null,"Processing weapons",(function (){
return cljs.core.mapv.call(null,(function (p1__29574_SHARP_){
return cljs.core.assoc.call(null,p1__29574_SHARP_,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword(null,"name","name",1843675177).cljs$core$IFn$_invoke$arity$1(p1__29574_SHARP_),new cljs.core.Keyword("weathergen.falcon.files.mission","sim-weapon-data","weathergen.falcon.files.mission/sim-weapon-data",-1214423648),weathergen.falcon.files.mission.sim_weapon_data_entry.call(null,mission,p1__29574_SHARP_));
}),new cljs.core.Keyword(null,"weapon-class-data","weapon-class-data",-1828241433).cljs$core$IFn$_invoke$arity$1(mission));
}));
});
/**
 * Throw an error if an airbase has an invalid owner.
 */
weathergen.falcon.files.mission.report_airbases_with_invalid_owner = (function weathergen$falcon$files$mission$report_airbases_with_invalid_owner(mission){
var n_sides = cljs.core.count.call(null,new cljs.core.Keyword(null,"teams","teams",1677714510).cljs$core$IFn$_invoke$arity$1(mission));
var problems = (function (){var iter__4523__auto__ = ((function (n_sides){
return (function weathergen$falcon$files$mission$report_airbases_with_invalid_owner_$_iter__29575(s__29576){
return (new cljs.core.LazySeq(null,((function (n_sides){
return (function (){
var s__29576__$1 = s__29576;
while(true){
var temp__5720__auto__ = cljs.core.seq.call(null,s__29576__$1);
if(temp__5720__auto__){
var s__29576__$2 = temp__5720__auto__;
if(cljs.core.chunked_seq_QMARK_.call(null,s__29576__$2)){
var c__4521__auto__ = cljs.core.chunk_first.call(null,s__29576__$2);
var size__4522__auto__ = cljs.core.count.call(null,c__4521__auto__);
var b__29578 = cljs.core.chunk_buffer.call(null,size__4522__auto__);
if((function (){var i__29577 = (0);
while(true){
if((i__29577 < size__4522__auto__)){
var airbase = cljs.core._nth.call(null,c__4521__auto__,i__29577);
if((n_sides <= new cljs.core.Keyword(null,"owner","owner",-392611939).cljs$core$IFn$_invoke$arity$1(airbase))){
cljs.core.chunk_append.call(null,b__29578,airbase);

var G__29585 = (i__29577 + (1));
i__29577 = G__29585;
continue;
} else {
var G__29586 = (i__29577 + (1));
i__29577 = G__29586;
continue;
}
} else {
return true;
}
break;
}
})()){
return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__29578),weathergen$falcon$files$mission$report_airbases_with_invalid_owner_$_iter__29575.call(null,cljs.core.chunk_rest.call(null,s__29576__$2)));
} else {
return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__29578),null);
}
} else {
var airbase = cljs.core.first.call(null,s__29576__$2);
if((n_sides <= new cljs.core.Keyword(null,"owner","owner",-392611939).cljs$core$IFn$_invoke$arity$1(airbase))){
return cljs.core.cons.call(null,airbase,weathergen$falcon$files$mission$report_airbases_with_invalid_owner_$_iter__29575.call(null,cljs.core.rest.call(null,s__29576__$2)));
} else {
var G__29587 = cljs.core.rest.call(null,s__29576__$2);
s__29576__$1 = G__29587;
continue;
}
}
} else {
return null;
}
break;
}
});})(n_sides))
,null,null));
});})(n_sides))
;
return iter__4523__auto__.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","airbases","weathergen.falcon.files.mission/airbases",-216602213).cljs$core$IFn$_invoke$arity$1(mission));
})();
if(cljs.core.empty_QMARK_.call(null,problems)){
return null;
} else {
throw cljs.core.ex_info.call(null,["The following airbases have an invalid owner: \n   ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.util.format_list.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"separator","separator",-1628749125),",\n  "], null),cljs.core.map.call(null,((function (n_sides,problems){
return (function (p__29582){
var map__29583 = p__29582;
var map__29583__$1 = (((((!((map__29583 == null))))?(((((map__29583.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29583.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29583):map__29583);
var owner = cljs.core.get.call(null,map__29583__$1,new cljs.core.Keyword(null,"owner","owner",-392611939));
var name = cljs.core.get.call(null,map__29583__$1,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975));
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(name)," has owner ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(owner)].join('');
});})(n_sides,problems))
,problems))),".\n\nValid owners are: \n   ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.util.format_list.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"separator","separator",-1628749125),",\n  "], null),cljs.core.map.call(null,((function (n_sides,problems){
return (function (team){
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"name","name",1843675177).cljs$core$IFn$_invoke$arity$1(team))," (",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"who","who",-235935040).cljs$core$IFn$_invoke$arity$1(team)),")"].join('');
});})(n_sides,problems))
,cljs.core.map.call(null,new cljs.core.Keyword(null,"team","team",1355747699),new cljs.core.Keyword(null,"teams","teams",1677714510).cljs$core$IFn$_invoke$arity$1(mission))))),"."].join(''),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"reason","reason",-2070751759),new cljs.core.Keyword(null,"invalid-airbase-owner","invalid-airbase-owner",1469788624),new cljs.core.Keyword(null,"omit-stack-trace?","omit-stack-trace?",1080142229),true], null));
}
});
/**
 * Issue warnings for any squadrons that have no airbases.
 */
weathergen.falcon.files.mission.report_squadrons_without_airbases = (function weathergen$falcon$files$mission$report_squadrons_without_airbases(mission){
var problems = (function (){var iter__4523__auto__ = (function weathergen$falcon$files$mission$report_squadrons_without_airbases_$_iter__29588(s__29589){
return (new cljs.core.LazySeq(null,(function (){
var s__29589__$1 = s__29589;
while(true){
var temp__5720__auto__ = cljs.core.seq.call(null,s__29589__$1);
if(temp__5720__auto__){
var xs__6277__auto__ = temp__5720__auto__;
var vec__29594 = cljs.core.first.call(null,xs__6277__auto__);
var airbase = cljs.core.nth.call(null,vec__29594,(0),null);
var squadrons = cljs.core.nth.call(null,vec__29594,(1),null);
var iterys__4519__auto__ = ((function (s__29589__$1,vec__29594,airbase,squadrons,xs__6277__auto__,temp__5720__auto__){
return (function weathergen$falcon$files$mission$report_squadrons_without_airbases_$_iter__29588_$_iter__29590(s__29591){
return (new cljs.core.LazySeq(null,((function (s__29589__$1,vec__29594,airbase,squadrons,xs__6277__auto__,temp__5720__auto__){
return (function (){
var s__29591__$1 = s__29591;
while(true){
var temp__5720__auto____$1 = cljs.core.seq.call(null,s__29591__$1);
if(temp__5720__auto____$1){
var s__29591__$2 = temp__5720__auto____$1;
if(cljs.core.chunked_seq_QMARK_.call(null,s__29591__$2)){
var c__4521__auto__ = cljs.core.chunk_first.call(null,s__29591__$2);
var size__4522__auto__ = cljs.core.count.call(null,c__4521__auto__);
var b__29593 = cljs.core.chunk_buffer.call(null,size__4522__auto__);
if((function (){var i__29592 = (0);
while(true){
if((i__29592 < size__4522__auto__)){
var squadron = cljs.core._nth.call(null,c__4521__auto__,i__29592);
if((weathergen.falcon.files.mission.squadron_airbase.call(null,mission,squadron) == null)){
cljs.core.chunk_append.call(null,b__29593,squadron);

var G__29603 = (i__29592 + (1));
i__29592 = G__29603;
continue;
} else {
var G__29604 = (i__29592 + (1));
i__29592 = G__29604;
continue;
}
} else {
return true;
}
break;
}
})()){
return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__29593),weathergen$falcon$files$mission$report_squadrons_without_airbases_$_iter__29588_$_iter__29590.call(null,cljs.core.chunk_rest.call(null,s__29591__$2)));
} else {
return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__29593),null);
}
} else {
var squadron = cljs.core.first.call(null,s__29591__$2);
if((weathergen.falcon.files.mission.squadron_airbase.call(null,mission,squadron) == null)){
return cljs.core.cons.call(null,squadron,weathergen$falcon$files$mission$report_squadrons_without_airbases_$_iter__29588_$_iter__29590.call(null,cljs.core.rest.call(null,s__29591__$2)));
} else {
var G__29605 = cljs.core.rest.call(null,s__29591__$2);
s__29591__$1 = G__29605;
continue;
}
}
} else {
return null;
}
break;
}
});})(s__29589__$1,vec__29594,airbase,squadrons,xs__6277__auto__,temp__5720__auto__))
,null,null));
});})(s__29589__$1,vec__29594,airbase,squadrons,xs__6277__auto__,temp__5720__auto__))
;
var fs__4520__auto__ = cljs.core.seq.call(null,iterys__4519__auto__.call(null,squadrons));
if(fs__4520__auto__){
return cljs.core.concat.call(null,fs__4520__auto__,weathergen$falcon$files$mission$report_squadrons_without_airbases_$_iter__29588.call(null,cljs.core.rest.call(null,s__29589__$1)));
} else {
var G__29606 = cljs.core.rest.call(null,s__29589__$1);
s__29589__$1 = G__29606;
continue;
}
} else {
return null;
}
break;
}
}),null,null));
});
return iter__4523__auto__.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110).cljs$core$IFn$_invoke$arity$1(mission));
})();
if(cljs.core.empty_QMARK_.call(null,problems)){
return null;
} else {
return weathergen.progress.step_warn.call(null,["The following squadrons have no associated airbase: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.util.format_list.call(null,cljs.core.map.call(null,((function (problems){
return (function (p__29600){
var map__29601 = p__29600;
var map__29601__$1 = (((((!((map__29601 == null))))?(((((map__29601.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29601.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29601):map__29601);
var owner = cljs.core.get.call(null,map__29601__$1,new cljs.core.Keyword(null,"owner","owner",-392611939));
var name = cljs.core.get.call(null,map__29601__$1,new cljs.core.Keyword(null,"name","name",1843675177));
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(name)," (",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.team_name.call(null,mission,owner)),")"].join('');
});})(problems))
,problems))),". Squadrons without an associated airbase are known to cause instability (crashes) in multiplayer flight. The recommended fix is to use Mission Commander to delete and recreate the corrupt squadrons and all associated flights. Please also help the dev team find the source of this bug by reporting it on the BMS website."].join(''));
}
});
/**
 * Repair any problems with mission, issuing warnings along the way.
 */
weathergen.falcon.files.mission.fixup_mission = (function weathergen$falcon$files$mission$fixup_mission(mission){
return weathergen.progress.with_step.call(null,"Verifying mission integrity",(function (){
weathergen.falcon.files.mission.report_airbases_with_invalid_owner.call(null,mission);

return mission;
}));
});
/**
 * Add in some computed information to the mission from a raw, just-loaded version
 */
weathergen.falcon.files.mission.postprocess_mission = (function weathergen$falcon$files$mission$postprocess_mission(mission){
var calc = (function (mission__$1,k,f){
return cljs.core.assoc.call(null,mission__$1,k,f.call(null,mission__$1));
});
return weathergen.falcon.files.mission.fixup_mission.call(null,calc.call(null,calc.call(null,calc.call(null,calc.call(null,calc.call(null,calc.call(null,calc.call(null,cljs.core.assoc.call(null,mission,new cljs.core.Keyword(null,"map-image","map-image",-5560498),weathergen.falcon.files.images.make_descriptor.call(null,mission,"resource/campmap","BIG_MAP_ID")),new cljs.core.Keyword("weathergen.falcon.files.mission","objectives","weathergen.falcon.files.mission/objectives",410009507),weathergen.falcon.files.mission.objectives),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),weathergen.falcon.files.mission.squadrons),new cljs.core.Keyword("weathergen.falcon.files.mission","airbases","weathergen.falcon.files.mission/airbases",-216602213),weathergen.falcon.files.mission.airbases),new cljs.core.Keyword("weathergen.falcon.files.mission","flights","weathergen.falcon.files.mission/flights",-1943609790),weathergen.falcon.files.mission.flights),new cljs.core.Keyword("weathergen.falcon.files.mission","carriers","weathergen.falcon.files.mission/carriers",1286085937),weathergen.falcon.files.mission.carriers),new cljs.core.Keyword("weathergen.falcon.files.mission","army-bases","weathergen.falcon.files.mission/army-bases",-1064227486),weathergen.falcon.files.mission.army_bases),new cljs.core.Keyword("weathergen.falcon.files.mission","weapons","weathergen.falcon.files.mission/weapons",-176268464),weathergen.falcon.files.mission.weapons));
});
weathergen.falcon.files.mission.read_ppt_data = (function weathergen$falcon$files$mission$read_ppt_data(installation,theater){
var dir = weathergen.falcon.files.mission.campaign_dir.call(null,installation,theater);
var path = weathergen.filesystem.path_combine.call(null,dir,"ppt.ini");
return weathergen.progress.with_step.call(null,["Reading PPT.INI from ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(dir)].join(''),((function (dir,path){
return (function (){
return cljs.core.mapv.call(null,((function (dir,path){
return (function (p__29607){
var vec__29608 = p__29607;
var id = cljs.core.nth.call(null,vec__29608,(0),null);
var radius = cljs.core.nth.call(null,vec__29608,(1),null);
var description = cljs.core.nth.call(null,vec__29608,(2),null);
return new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"id","id",-1388402092),id,new cljs.core.Keyword(null,"radius-ft","radius-ft",1860060448),weathergen.util.str__GT_float.call(null,radius),new cljs.core.Keyword(null,"description","description",-1428560544),description], null);
});})(dir,path))
,cljs.core.map.call(null,((function (dir,path){
return (function (line){
return clojure.string.split.call(null,line,weathergen.falcon.files.mission.whitespace,(3));
});})(dir,path))
,cljs.core.remove.call(null,clojure.string.blank_QMARK_,cljs.core.map.call(null,clojure.string.trim,clojure.string.split_lines.call(null,weathergen.filesystem.file_text.call(null,path))))));
});})(dir,path))
);
});
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","read-mission","weathergen.falcon.files.mission/read-mission",1157331571,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,"installs","installs",-915592927),new cljs.core.Symbol("weathergen.falcon.files.mission","Installs","weathergen.falcon.files.mission/Installs",194555236,null),new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("weathergen.falcon.files.mission","Mission","weathergen.falcon.files.mission/Mission",224672349,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,"installs","installs",-915592927),new cljs.core.Symbol("weathergen.falcon.files.mission","Installs","weathergen.falcon.files.mission/Installs",194555236,null),new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"installs","installs",-915592927),new cljs.core.Keyword(null,"path","path",-188191168)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.files.mission.Installs,weathergen.falcon.files.mission.Path], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.falcon.files.mission","Installs","weathergen.falcon.files.mission/Installs",194555236,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,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,"installs","installs",-915592927),new cljs.core.Symbol("weathergen.falcon.files.mission","Installs","weathergen.falcon.files.mission/Installs",194555236,null),new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null)),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","Mission","weathergen.falcon.files.mission/Mission",224672349,null),weathergen.falcon.files.mission.Mission,null,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Mission","weathergen.falcon.files.mission/Mission",224672349,null),null,null,null));
/**
 * Given a path to a mission (.cam/.tac/.trn) file, read,
 *   parse, and return it.
 */
weathergen.falcon.files.mission.read_mission = (function weathergen$falcon$files$mission$read_mission(installs,path){
var mission_buf = weathergen.progress.with_step.call(null,["Loading mission file into memory from ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(path)].join(''),(function (){
return weathergen.filesystem.file_buf.call(null,path);
}));
var version = weathergen.progress.with_step.call(null,"Reading mission database version",((function (mission_buf){
return (function (){
return new cljs.core.Keyword(null,"version","version",425292698).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"version","version",425292698).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.read_embedded_files.call(null,mission_buf,null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword("weathergen.falcon.files.mission","file-types","weathergen.falcon.files.mission/file-types",2089227843),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"version","version",425292698),null], null), null)], null))));
});})(mission_buf))
);
var _ = taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.falcon.files.mission",null,3036,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),(new cljs.core.Delay(((function (mission_buf,version){
return (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, ["Version is ",version], null);
});})(mission_buf,version))
,null)),null,-503878079);
var install_dir = weathergen.progress.with_step.call(null,"Locating installation directory",((function (mission_buf,version,_){
return (function (){
return weathergen.falcon.files.mission.find_install_dir.call(null,path);
});})(mission_buf,version,_))
);
var installation = weathergen.progress.with_step.call(null,["Scanning Falcon installation at ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(install_dir)].join(''),((function (mission_buf,version,_,install_dir){
return (function (){
return weathergen.falcon.files.mission.load_installation.call(null,install_dir);
});})(mission_buf,version,_,install_dir))
);
var theater = weathergen.progress.with_step.call(null,"Determining theater",((function (mission_buf,version,_,install_dir,installation){
return (function (){
return weathergen.falcon.files.mission.find_theater.call(null,installation,path);
});})(mission_buf,version,_,install_dir,installation))
);
var campaign_dir = weathergen.falcon.files.mission.campaign_dir.call(null,installation,theater);
var strings = weathergen.progress.with_step.call(null,"Reading theater strings",((function (mission_buf,version,_,install_dir,installation,theater,campaign_dir){
return (function (){
return weathergen.falcon.files.mission.read_strings_file.call(null,campaign_dir);
});})(mission_buf,version,_,install_dir,installation,theater,campaign_dir))
);
var database = weathergen.progress.with_step.call(null,"Reading theater data",((function (mission_buf,version,_,install_dir,installation,theater,campaign_dir,strings){
return (function (){
return cljs.core.assoc.call(null,weathergen.falcon.files.mission.load_initial_database.call(null,installation,theater,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword("database","version","database/version",1963983397),version], null)),new cljs.core.Keyword(null,"strings","strings",-2055406807),strings);
});})(mission_buf,version,_,install_dir,installation,theater,campaign_dir,strings))
);
var mission_files = weathergen.progress.with_step.call(null,"Parsing mission info",((function (mission_buf,version,_,install_dir,installation,theater,campaign_dir,strings,database){
return (function (){
return weathergen.falcon.files.mission.read_embedded_files.call(null,mission_buf,database);
});})(mission_buf,version,_,install_dir,installation,theater,campaign_dir,strings,database))
);
var map__29611 = new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966).cljs$core$IFn$_invoke$arity$1(mission_files);
var map__29611__$1 = (((((!((map__29611 == null))))?(((((map__29611.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29611.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29611):map__29611);
var theater_name = cljs.core.get.call(null,map__29611__$1,new cljs.core.Keyword(null,"theater-name","theater-name",2077458810));
var scenario = cljs.core.get.call(null,map__29611__$1,new cljs.core.Keyword(null,"scenario","scenario",-316635333));
var names = weathergen.progress.with_step.call(null,"Reading theater names",((function (mission_buf,version,_,install_dir,installation,theater,campaign_dir,strings,database,mission_files,map__29611,map__29611__$1,theater_name,scenario){
return (function (){
return weathergen.falcon.files.mission.read_strings.call(null,campaign_dir,theater_name);
});})(mission_buf,version,_,install_dir,installation,theater,campaign_dir,strings,database,mission_files,map__29611,map__29611__$1,theater_name,scenario))
);
var scenario_file = [cljs.core.str.cljs$core$IFn$_invoke$arity$1(scenario),cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.extension.call(null,path))].join('');
var scenario_path = weathergen.filesystem.path_combine.call(null,weathergen.filesystem.parent.call(null,path),scenario_file);
var scenario_files = weathergen.progress.with_step.call(null,["Reading scenario file: ",scenario_file].join(''),((function (mission_buf,version,_,install_dir,installation,theater,campaign_dir,strings,database,mission_files,map__29611,map__29611__$1,theater_name,scenario,names,scenario_file,scenario_path){
return (function (){
var buf = weathergen.filesystem.file_buf.call(null,scenario_path);
return weathergen.falcon.files.mission.read_embedded_files.call(null,buf,database);
});})(mission_buf,version,_,install_dir,installation,theater,campaign_dir,strings,database,mission_files,map__29611,map__29611__$1,theater_name,scenario,names,scenario_file,scenario_path))
);
var ppt_data = weathergen.falcon.files.mission.read_ppt_data.call(null,installation,theater);
var mission = cljs.core.merge.call(null,database,mission_files,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.Keyword(null,"installs","installs",-915592927),new cljs.core.Keyword(null,"mission-name","mission-name",1479736582),new cljs.core.Keyword(null,"ppt-data","ppt-data",-1749164693),new cljs.core.Keyword(null,"candidate-installs","candidate-installs",1512655313),new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Keyword(null,"objectives","objectives",933939509),new cljs.core.Keyword(null,"theater","theater",258922071),new cljs.core.Keyword(null,"names","names",-1943074658),new cljs.core.Keyword(null,"scenario-files","scenario-files",-1697993090)],[path,installs,weathergen.filesystem.basename.call(null,path),ppt_data,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.filter.call(null,((function (mission_buf,version,_,install_dir,installation,theater,campaign_dir,strings,database,mission_files,map__29611,map__29611__$1,theater_name,scenario,names,scenario_file,scenario_path,scenario_files,ppt_data){
return (function (p__29613){
var vec__29614 = p__29613;
var name = cljs.core.nth.call(null,vec__29614,(0),null);
var dir = cljs.core.nth.call(null,vec__29614,(1),null);
var and__4120__auto__ = weathergen.filesystem.exists_QMARK_.call(null,dir);
if(cljs.core.truth_(and__4120__auto__)){
var and__4120__auto____$1 = weathergen.filesystem.exists_QMARK_.call(null,install_dir);
if(cljs.core.truth_(and__4120__auto____$1)){
return weathergen.filesystem.identical_QMARK_.call(null,dir,install_dir);
} else {
return and__4120__auto____$1;
}
} else {
return and__4120__auto__;
}
});})(mission_buf,version,_,install_dir,installation,theater,campaign_dir,strings,database,mission_files,map__29611,map__29611__$1,theater_name,scenario,names,scenario_file,scenario_path,scenario_files,ppt_data))
,installs)),installation,weathergen.falcon.files.mission.merge_objective_deltas.call(null,new cljs.core.Keyword(null,"objectives","objectives",933939509).cljs$core$IFn$_invoke$arity$1(scenario_files),new cljs.core.Keyword(null,"objective-deltas","objective-deltas",710518611).cljs$core$IFn$_invoke$arity$1(mission_files)),theater,names,scenario_files]));
taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.falcon.files.mission",null,3088,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),(new cljs.core.Delay(((function (mission_buf,version,_,install_dir,installation,theater,campaign_dir,strings,database,mission_files,map__29611,map__29611__$1,theater_name,scenario,names,scenario_file,scenario_path,scenario_files,ppt_data,mission){
return (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, ["Candidate installs",new cljs.core.Keyword(null,"candidate-installs","candidate-installs",1512655313).cljs$core$IFn$_invoke$arity$1(mission)], null);
});})(mission_buf,version,_,install_dir,installation,theater,campaign_dir,strings,database,mission_files,map__29611,map__29611__$1,theater_name,scenario,names,scenario_file,scenario_path,scenario_files,ppt_data,mission))
,null)),null,-1450353771);

return weathergen.progress.with_step.call(null,"Finalizing mission data",((function (mission_buf,version,_,install_dir,installation,theater,campaign_dir,strings,database,mission_files,map__29611,map__29611__$1,theater_name,scenario,names,scenario_file,scenario_path,scenario_files,ppt_data,mission){
return (function (){
return weathergen.falcon.files.mission.postprocess_mission.call(null,mission);
});})(mission_buf,version,_,install_dir,installation,theater,campaign_dir,strings,database,mission_files,map__29611,map__29611__$1,theater_name,scenario,names,scenario_file,scenario_path,scenario_files,ppt_data,mission))
);
});
/**
 * Converts a mission to a 'briefing', which is a serializable version
 *   of the mission, containing everything needed to rehydrate the
 *   mission later.
 */
weathergen.falcon.files.mission.mission__GT_briefing = (function weathergen$falcon$files$mission$mission__GT_briefing(mission,install_id,build_info){
return cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"theaterdef-name","theaterdef-name",-635231832),weathergen.falcon.files.mission.theaterdef_name.call(null,mission),new cljs.core.Keyword(null,"extension","extension",1453374065),(function (){var or__4131__auto__ = (function (){var G__29618 = mission;
var G__29618__$1 = (((G__29618 == null))?null:new cljs.core.Keyword(null,"original-briefing","original-briefing",1522332068).cljs$core$IFn$_invoke$arity$1(G__29618));
if((G__29618__$1 == null)){
return null;
} else {
return new cljs.core.Keyword(null,"extension","extension",1453374065).cljs$core$IFn$_invoke$arity$1(G__29618__$1);
}
})();
if(cljs.core.truth_(or__4131__auto__)){
return or__4131__auto__;
} else {
return weathergen.falcon.files.mission.extension.call(null,new cljs.core.Keyword(null,"path","path",-188191168).cljs$core$IFn$_invoke$arity$1(mission));
}
})(),new cljs.core.Keyword(null,"install-id","install-id",-1310868737),install_id,new cljs.core.Keyword(null,"build-info","build-info",-622713066),build_info], null),cljs.core.select_keys.call(null,mission,cljs.core.concat.call(null,cljs.core.vals.call(null,weathergen.falcon.files.mission.file_types),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"mission-name","mission-name",1479736582),new cljs.core.Keyword(null,"ppt-data","ppt-data",-1749164693)], null))));
});
/**
 * Loads a mission given a briefing (see `mission->briefing`).
 */
weathergen.falcon.files.mission.briefing__GT_mission = (function weathergen$falcon$files$mission$briefing__GT_mission(var_args){
var args__4736__auto__ = [];
var len__4730__auto___29633 = arguments.length;
var i__4731__auto___29634 = (0);
while(true){
if((i__4731__auto___29634 < len__4730__auto___29633)){
args__4736__auto__.push((arguments[i__4731__auto___29634]));

var G__29635 = (i__4731__auto___29634 + (1));
i__4731__auto___29634 = G__29635;
continue;
} else {
}
break;
}

var argseq__4737__auto__ = ((((2) < args__4736__auto__.length))?(new cljs.core.IndexedSeq(args__4736__auto__.slice((2)),(0),null)):null);
return weathergen.falcon.files.mission.briefing__GT_mission.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__4737__auto__);
});

weathergen.falcon.files.mission.briefing__GT_mission.cljs$core$IFn$_invoke$arity$variadic = (function (installs,briefing,p__29623){
var vec__29624 = p__29623;
var map__29627 = cljs.core.nth.call(null,vec__29624,(0),null);
var map__29627__$1 = (((((!((map__29627 == null))))?(((((map__29627.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29627.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29627):map__29627);
var opts = map__29627__$1;
var database_version = cljs.core.get.call(null,map__29627__$1,new cljs.core.Keyword("database","version","database/version",1963983397));
var map__29629 = briefing;
var map__29629__$1 = (((((!((map__29629 == null))))?(((((map__29629.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29629.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29629):map__29629);
var theaterdef_name = cljs.core.get.call(null,map__29629__$1,new cljs.core.Keyword(null,"theaterdef-name","theaterdef-name",-635231832));
var install_id = cljs.core.get.call(null,map__29629__$1,new cljs.core.Keyword(null,"install-id","install-id",-1310868737));
var install_id__$1 = ((typeof install_id === 'string')?install_id:cljs.core.first.call(null,install_id));
var install_dir = weathergen.progress.with_step.call(null,["Looking for installation of BMS version '",cljs.core.str.cljs$core$IFn$_invoke$arity$1(install_id__$1),"'."].join(''),((function (map__29629,map__29629__$1,theaterdef_name,install_id,install_id__$1,vec__29624,map__29627,map__29627__$1,opts,database_version){
return (function (){
var or__4131__auto__ = cljs.core.get.call(null,installs,install_id__$1);
if(cljs.core.truth_(or__4131__auto__)){
return or__4131__auto__;
} else {
throw cljs.core.ex_info.call(null,"Not found",new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"reason","reason",-2070751759),new cljs.core.Keyword("weathergen.falcon.files.mission","install-not-found","weathergen.falcon.files.mission/install-not-found",852985674),new cljs.core.Keyword(null,"omit-stack-trace?","omit-stack-trace?",1080142229),true,new cljs.core.Keyword(null,"installs","installs",-915592927),installs,new cljs.core.Keyword(null,"install-id","install-id",-1310868737),install_id__$1], null));
}
});})(map__29629,map__29629__$1,theaterdef_name,install_id,install_id__$1,vec__29624,map__29627,map__29627__$1,opts,database_version))
);
var installation = weathergen.falcon.files.mission.load_installation.call(null,install_dir);
var theater = cljs.core.first.call(null,cljs.core.filter.call(null,((function (map__29629,map__29629__$1,theaterdef_name,install_id,install_id__$1,install_dir,installation,vec__29624,map__29627,map__29627__$1,opts,database_version){
return (function (p1__29619_SHARP_){
return cljs.core._EQ_.call(null,theaterdef_name,new cljs.core.Keyword(null,"name","name",1843675177).cljs$core$IFn$_invoke$arity$1(p1__29619_SHARP_));
});})(map__29629,map__29629__$1,theaterdef_name,install_id,install_id__$1,install_dir,installation,vec__29624,map__29627,map__29627__$1,opts,database_version))
,new cljs.core.Keyword(null,"theaters","theaters",-1420445930).cljs$core$IFn$_invoke$arity$1(installation)));
var _ = (cljs.core.truth_(theater)?null:(function(){throw cljs.core.ex_info.call(null,["Theater ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(theaterdef_name)," does not seem to be installed."].join(''),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"reason","reason",-2070751759),new cljs.core.Keyword("weathergen.falcon.files.mission","theater-not-found","weathergen.falcon.files.mission/theater-not-found",259752510),new cljs.core.Keyword(null,"install-dir","install-dir",2018055118),install_dir,new cljs.core.Keyword(null,"theaterdef-name","theaterdef-name",-635231832),theaterdef_name], null))})());
var strings = weathergen.falcon.files.mission.read_strings_file.call(null,weathergen.falcon.files.mission.campaign_dir.call(null,installation,theater));
var database = cljs.core.assoc.call(null,weathergen.falcon.files.mission.load_initial_database.call(null,installation,theater,opts),new cljs.core.Keyword(null,"strings","strings",-2055406807),strings);
var map__29630 = new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966).cljs$core$IFn$_invoke$arity$1(briefing);
var map__29630__$1 = (((((!((map__29630 == null))))?(((((map__29630.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29630.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29630):map__29630);
var theater_name = cljs.core.get.call(null,map__29630__$1,new cljs.core.Keyword(null,"theater-name","theater-name",2077458810));
var scenario = cljs.core.get.call(null,map__29630__$1,new cljs.core.Keyword(null,"scenario","scenario",-316635333));
var names = weathergen.falcon.files.mission.read_strings.call(null,weathergen.falcon.files.mission.campaign_dir.call(null,installation,theater),theater_name);
var scenario_file = [cljs.core.str.cljs$core$IFn$_invoke$arity$1(scenario),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"extension","extension",1453374065).cljs$core$IFn$_invoke$arity$1(briefing))].join('');
var scenario_path = weathergen.filesystem.path_combine.call(null,weathergen.falcon.files.mission.campaign_dir.call(null,installation,theater),scenario_file);
var scenario_files = weathergen.progress.with_step.call(null,["Reading scenario file: ",scenario_file].join(''),((function (map__29629,map__29629__$1,theaterdef_name,install_id,install_id__$1,install_dir,installation,theater,_,strings,database,map__29630,map__29630__$1,theater_name,scenario,names,scenario_file,scenario_path,vec__29624,map__29627,map__29627__$1,opts,database_version){
return (function (){
var buf = weathergen.filesystem.file_buf.call(null,scenario_path);
return weathergen.falcon.files.mission.read_embedded_files.call(null,buf,database);
});})(map__29629,map__29629__$1,theaterdef_name,install_id,install_id__$1,install_dir,installation,theater,_,strings,database,map__29630,map__29630__$1,theater_name,scenario,names,scenario_file,scenario_path,vec__29624,map__29627,map__29627__$1,opts,database_version))
);
var mission = cljs.core.merge.call(null,database,briefing,new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,"objectives","objectives",933939509),weathergen.falcon.files.mission.merge_objective_deltas.call(null,new cljs.core.Keyword(null,"objectives","objectives",933939509).cljs$core$IFn$_invoke$arity$1(scenario_files),new cljs.core.Keyword(null,"objective-deltas","objective-deltas",710518611).cljs$core$IFn$_invoke$arity$1(briefing)),new cljs.core.Keyword(null,"scenario-files","scenario-files",-1697993090),scenario_files,new cljs.core.Keyword(null,"names","names",-1943074658),names,new cljs.core.Keyword(null,"installation","installation",943147954),installation,new cljs.core.Keyword(null,"theater","theater",258922071),theater,new cljs.core.Keyword(null,"ppt-data","ppt-data",-1749164693),weathergen.falcon.files.mission.read_ppt_data.call(null,installation,theater),new cljs.core.Keyword(null,"original-briefing","original-briefing",1522332068),briefing], null));
return weathergen.falcon.files.mission.postprocess_mission.call(null,mission);
});

weathergen.falcon.files.mission.briefing__GT_mission.cljs$lang$maxFixedArity = (2);

/** @this {Function} */
weathergen.falcon.files.mission.briefing__GT_mission.cljs$lang$applyTo = (function (seq29620){
var G__29621 = cljs.core.first.call(null,seq29620);
var seq29620__$1 = cljs.core.next.call(null,seq29620);
var G__29622 = cljs.core.first.call(null,seq29620__$1);
var seq29620__$2 = cljs.core.next.call(null,seq29620__$1);
var self__4717__auto__ = this;
return self__4717__auto__.cljs$core$IFn$_invoke$arity$variadic(G__29621,G__29622,seq29620__$2);
});

weathergen.falcon.files.mission.team_basic_info = octet.core.spec.call(null,new cljs.core.Keyword(null,"flag","flag",1088647881),octet.core.ubyte,new cljs.core.Keyword(null,"color","color",1011675173),octet.core.ubyte,new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.fixed_string.call(null,(20)),new cljs.core.Keyword(null,"motto","motto",-708709752),weathergen.falcon.files.fixed_string.call(null,(200)));
weathergen.falcon.files.mission.squadron_info = octet.core.spec.call(null,new cljs.core.Keyword(null,"x","x",2099068185),octet.core.float$,new cljs.core.Keyword(null,"y","y",-1757859776),octet.core.float$,new cljs.core.Keyword(null,"id","id",-1388402092),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"description-index","description-index",1949024606),octet.core.int16,new cljs.core.Keyword(null,"name-id","name-id",-279275372),octet.core.int16,new cljs.core.Keyword(null,"airbase-icon","airbase-icon",-1322581504),octet.core.int16,new cljs.core.Keyword(null,"squadron-patch","squadron-patch",883934030),octet.core.int16,new cljs.core.Keyword(null,"specialty","specialty",-159219386),octet.core.ubyte,new cljs.core.Keyword(null,"current-strength","current-strength",-809786824),octet.core.ubyte,new cljs.core.Keyword(null,"country","country",312965309),octet.core.ubyte,new cljs.core.Keyword(null,"airbase-name","airbase-name",-1509991393),weathergen.falcon.files.fixed_string.call(null,(40)),new cljs.core.Keyword(null,"padding","padding",1660304693),octet.core.byte$);
weathergen.falcon.files.mission.event_node = octet.core.spec.call(null,new cljs.core.Keyword(null,"x","x",2099068185),octet.core.int16,new cljs.core.Keyword(null,"y","y",-1757859776),octet.core.int16,new cljs.core.Keyword(null,"time","time",1385887882),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.ubyte,new cljs.core.Keyword(null,"team","team",1355747699),octet.core.ubyte,new cljs.core.Keyword(null,"padding","padding",1660304693),octet.core.repeat.call(null,(2),octet.core.byte$),new cljs.core.Keyword(null,"event-text","event-text",-1878870726),octet.core.int32,new cljs.core.Keyword(null,"ui-event-node","ui-event-node",-1345265994),octet.core.int32,new cljs.core.Keyword(null,"event-text","event-text",-1878870726),weathergen.falcon.files.lstring.call(null,octet.core.uint16));
weathergen.falcon.files.mission.cmp_spec = octet.core.spec.call(null,new cljs.core.Keyword(null,"current-time","current-time",-1609407134),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"te-start","te-start",-810002242),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"te-time-limit","te-time-limit",-309642932),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"te-victory-points","te-victory-points",132309627),octet.core.int32,new cljs.core.Keyword(null,"te-type","te-type",-255361660),octet.core.int32,new cljs.core.Keyword(null,"te-num-teams","te-num-teams",-1586070853),octet.core.int32,new cljs.core.Keyword(null,"te-num-aircraft","te-num-aircraft",318417356),octet.core.repeat.call(null,(8),octet.core.int32),new cljs.core.Keyword(null,"te-num-f16s","te-num-f16s",-1823950404),octet.core.repeat.call(null,(8),octet.core.int32),new cljs.core.Keyword(null,"te-team","te-team",268867708),octet.core.int32,new cljs.core.Keyword(null,"te-team-points","te-team-points",2095170901),octet.core.repeat.call(null,(8),octet.core.int32),new cljs.core.Keyword(null,"te-flags","te-flags",354248005),octet.core.int32,new cljs.core.Keyword(null,"team-info","team-info",-1689319883),octet.core.repeat.call(null,(8),weathergen.falcon.files.mission.team_basic_info),new cljs.core.Keyword(null,"last-major-event","last-major-event",659606992),octet.core.uint32,new cljs.core.Keyword(null,"last-resupply","last-resupply",1047033340),octet.core.uint32,new cljs.core.Keyword(null,"last-repair","last-repair",1138109175),octet.core.uint32,new cljs.core.Keyword(null,"last-reinforcement","last-reinforcement",292779879),octet.core.uint32,new cljs.core.Keyword(null,"time-stamp","time-stamp",-1161230692),octet.core.int16,new cljs.core.Keyword(null,"group","group",582596132),octet.core.int16,new cljs.core.Keyword(null,"ground-ratio","ground-ratio",-2128608539),octet.core.int16,new cljs.core.Keyword(null,"air-ratio","air-ratio",1013948242),octet.core.int16,new cljs.core.Keyword(null,"air-defense-ratio","air-defense-ratio",1236036225),octet.core.int16,new cljs.core.Keyword(null,"naval-ratio","naval-ratio",1923404214),octet.core.int16,new cljs.core.Keyword(null,"brief","brief",-1044220717),octet.core.int16,new cljs.core.Keyword(null,"theater-size-x","theater-size-x",1642493141),octet.core.int16,new cljs.core.Keyword(null,"theater-size-y","theater-size-y",-1863614166),octet.core.int16,new cljs.core.Keyword(null,"current-day","current-day",129141412),octet.core.ubyte,new cljs.core.Keyword(null,"active-team","active-team",-709241146),octet.core.ubyte,new cljs.core.Keyword(null,"day-zero","day-zero",1149503524),octet.core.ubyte,new cljs.core.Keyword(null,"endgame-result","endgame-result",-117243832),octet.core.ubyte,new cljs.core.Keyword(null,"situation","situation",-1432089725),octet.core.ubyte,new cljs.core.Keyword(null,"enemy-air-exp","enemy-air-exp",1693726133),octet.core.ubyte,new cljs.core.Keyword(null,"enemy-ad-exp","enemy-ad-exp",1654067742),octet.core.ubyte,new cljs.core.Keyword(null,"bullseye-name","bullseye-name",-1974521298),octet.core.ubyte,new cljs.core.Keyword(null,"bullseye-x","bullseye-x",-1698783852),octet.core.int16,new cljs.core.Keyword(null,"bullseye-y","bullseye-y",904460818),octet.core.int16,new cljs.core.Keyword(null,"theater-name","theater-name",2077458810),weathergen.falcon.files.fixed_string.call(null,(40)),new cljs.core.Keyword(null,"scenario","scenario",-316635333),weathergen.falcon.files.fixed_string.call(null,(40)),new cljs.core.Keyword(null,"save-file","save-file",-250442926),weathergen.falcon.files.fixed_string.call(null,(40)),new cljs.core.Keyword(null,"ui-name","ui-name",-5784516),weathergen.falcon.files.fixed_string.call(null,(40)),new cljs.core.Keyword(null,"player-squadron-id","player-squadron-id",269963792),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"recent-event-entries","recent-event-entries",1549481754),weathergen.falcon.files.larray.call(null,octet.core.int16,weathergen.falcon.files.mission.event_node),new cljs.core.Keyword(null,"priority-event-entries","priority-event-entries",1522743125),weathergen.falcon.files.larray.call(null,octet.core.int16,weathergen.falcon.files.mission.event_node),new cljs.core.Keyword(null,"map","map",1371690461),weathergen.falcon.files.larray.call(null,octet.core.int16,octet.core.ubyte),new cljs.core.Keyword(null,"last-index-num","last-index-num",508638070),octet.core.int16,new cljs.core.Keyword(null,"squadron-info","squadron-info",-818676314),weathergen.falcon.files.larray.call(null,octet.core.int16,weathergen.falcon.files.mission.squadron_info),new cljs.core.Keyword(null,"tempo","tempo",-1555208453),octet.core.ubyte,new cljs.core.Keyword(null,"creator-ip","creator-ip",1390615344),octet.core.int32,new cljs.core.Keyword(null,"creation-time","creation-time",-1921334563),octet.core.int32,new cljs.core.Keyword(null,"creation-rand","creation-rand",-844614550),octet.core.int32);
cljs.core._add_method.call(null,weathergen.falcon.files.mission.read_embedded_file_STAR_,new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966),(function (_,p__29636,buf,___$1){
var map__29637 = p__29636;
var map__29637__$1 = (((((!((map__29637 == null))))?(((((map__29637.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29637.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29637):map__29637);
var entry = map__29637__$1;
var offset = cljs.core.get.call(null,map__29637__$1,new cljs.core.Keyword(null,"offset","offset",296498311));
var length = cljs.core.get.call(null,map__29637__$1,new cljs.core.Keyword(null,"length","length",588987862));
var _STAR_byte_order_STAR__orig_val__29639 = octet.buffer._STAR_byte_order_STAR_;
var _STAR_byte_order_STAR__temp_val__29640 = new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);
octet.buffer._STAR_byte_order_STAR_ = _STAR_byte_order_STAR__temp_val__29640;

try{var header_spec = octet.core.spec.call(null,new cljs.core.Keyword(null,"compressed-size","compressed-size",-1517579578),octet.core.int32,new cljs.core.Keyword(null,"uncompressed-size","uncompressed-size",-434136147),octet.core.int32);
var map__29641 = octet.core.read.call(null,buf,header_spec,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"offset","offset",296498311),offset], null));
var map__29641__$1 = (((((!((map__29641 == null))))?(((((map__29641.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29641.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29641):map__29641);
var compressed_size = cljs.core.get.call(null,map__29641__$1,new cljs.core.Keyword(null,"compressed-size","compressed-size",-1517579578));
var uncompressed_size = cljs.core.get.call(null,map__29641__$1,new cljs.core.Keyword(null,"uncompressed-size","uncompressed-size",-434136147));
var adjusted_compressed_size = (compressed_size - octet.core.size.call(null,octet.core.int32));
var data = weathergen.lzss.expand.call(null,buf,(offset + octet.core.size.call(null,header_spec)),adjusted_compressed_size,uncompressed_size);
return cljs.core.into.call(null,cljs.core.sorted_map.call(null),octet.core.read.call(null,data,weathergen.falcon.files.mission.cmp_spec));
}finally {octet.buffer._STAR_byte_order_STAR_ = _STAR_byte_order_STAR__orig_val__29639;
}}));
weathergen.falcon.files.mission.objective_link = octet.core.spec.call(null,new cljs.core.Keyword(null,"costs","costs",2093295309),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"id","id",-1388402092),weathergen.falcon.files.mission.vu_id);
weathergen.falcon.files.mission.objective_fields = weathergen.util.concatv.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"objective-type","objective-type",1907988670),octet.core.uint16], null),weathergen.falcon.files.mission.camp_base_fields,new cljs.core.PersistentVector(null, 24, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"last-repair","last-repair",1138109175),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"obj-flags","obj-flags",-864355993),octet.core.uint32,new cljs.core.Keyword(null,"supply","supply",-1701696309),octet.core.ubyte,new cljs.core.Keyword(null,"fuel","fuel",10405485),octet.core.ubyte,new cljs.core.Keyword(null,"losses","losses",-189206407),octet.core.ubyte,new cljs.core.Keyword(null,"f-status","f-status",782756103),weathergen.falcon.files.larray.call(null,octet.core.ubyte,octet.core.ubyte),new cljs.core.Keyword(null,"priority","priority",1431093715),octet.core.ubyte,new cljs.core.Keyword(null,"name-id","name-id",-279275372),octet.core.int16,new cljs.core.Keyword(null,"parent","parent",-878878779),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"first-owner","first-owner",911218300),octet.core.ubyte,new cljs.core.Keyword(null,"links","links",-654507394),weathergen.falcon.files.larray.call(null,octet.core.ubyte,weathergen.falcon.files.mission.objective_link),new cljs.core.Keyword(null,"radar-data","radar-data",-2114904134),(function (){
if((typeof weathergen !== 'undefined') && (typeof weathergen.falcon !== 'undefined') && (typeof weathergen.falcon.files !== 'undefined') && (typeof weathergen.falcon.files.mission !== 'undefined') && (typeof weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29643 !== 'undefined')){
} else {

/**
* @constructor
 * @implements {octet.spec.ISpec}
 * @implements {cljs.core.IMeta}
 * @implements {cljs.core.IWithMeta}
*/
weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29643 = (function (meta29644){
this.meta29644 = meta29644;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29643.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_29645,meta29644__$1){
var self__ = this;
var _29645__$1 = this;
return (new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29643(meta29644__$1));
});

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29643.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_29645){
var self__ = this;
var _29645__$1 = this;
return self__.meta29644;
});

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29643.prototype.octet$spec$ISpec$ = cljs.core.PROTOCOL_SENTINEL;

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29643.prototype.octet$spec$ISpec$read$arity$3 = (function (_,buf,pos){
var self__ = this;
var ___$1 = this;
var vec__29646 = octet.core.read_STAR_.call(null,buf,octet.core.byte$,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"offset","offset",296498311),pos], null));
var flag_size = cljs.core.nth.call(null,vec__29646,(0),null);
var flag_val = cljs.core.nth.call(null,vec__29646,(1),null);
if(((cljs.core._EQ_.call(null,(1),flag_val)) && ((octet.buffer.get_capacity.call(null,buf) <= (flag_size + pos))))){
weathergen.progress.step_warn.call(null,"Radar data flag indicates presence of radar detection ratios, but reading them would cause a buffer overflow. This appears to be a data integrity issue in the mission files. Proceeding under the assumption that radar detection ratios are not present.");

return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [flag_size,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"has-radar-data","has-radar-data",-1734005648),(0)], null)], null);
} else {
if(cljs.core._EQ_.call(null,(1),flag_val)){
var vec__29649 = octet.core.read_STAR_.call(null,buf,octet.core.repeat.call(null,weathergen.falcon.constants.NUM_RADAR_ARCS,octet.core.float$),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"offset","offset",296498311),(pos + flag_size)], null));
var ratio_size = cljs.core.nth.call(null,vec__29649,(0),null);
var ratio_val = cljs.core.nth.call(null,vec__29649,(1),null);
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(flag_size + ratio_size),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"has-radar-data","has-radar-data",-1734005648),flag_val,new cljs.core.Keyword(null,"detect-ratio","detect-ratio",-1552651193),ratio_val], null)], null);
} else {
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [flag_size,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"has-radar-data","has-radar-data",-1734005648),flag_val], null)], null);

}
}
});

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29643.getBasis = (function (){
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"meta29644","meta29644",101822698,null)], null);
});

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29643.cljs$lang$type = true;

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29643.cljs$lang$ctorStr = "weathergen.falcon.files.mission/t_weathergen$falcon$files$mission29643";

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29643.cljs$lang$ctorPrWriter = (function (this__4374__auto__,writer__4375__auto__,opt__4376__auto__){
return cljs.core._write.call(null,writer__4375__auto__,"weathergen.falcon.files.mission/t_weathergen$falcon$files$mission29643");
});

/**
 * Positional factory function for weathergen.falcon.files.mission/t_weathergen$falcon$files$mission29643.
 */
weathergen.falcon.files.mission.__GT_t_weathergen$falcon$files$mission29643 = (function weathergen$falcon$files$mission$__GT_t_weathergen$falcon$files$mission29643(meta29644){
return (new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29643(meta29644));
});

}

return (new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29643(cljs.core.PersistentArrayMap.EMPTY));
})()
], null));
cljs.core._add_method.call(null,weathergen.falcon.files.mission.read_embedded_file_STAR_,new cljs.core.Keyword(null,"objectives","objectives",933939509),(function (_,p__29652,buf,___$1){
var map__29653 = p__29652;
var map__29653__$1 = (((((!((map__29653 == null))))?(((((map__29653.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29653.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29653):map__29653);
var entry = map__29653__$1;
var offset = cljs.core.get.call(null,map__29653__$1,new cljs.core.Keyword(null,"offset","offset",296498311));
var length = cljs.core.get.call(null,map__29653__$1,new cljs.core.Keyword(null,"length","length",588987862));
var _STAR_byte_order_STAR__orig_val__29655 = octet.buffer._STAR_byte_order_STAR_;
var _STAR_byte_order_STAR__temp_val__29656 = new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);
octet.buffer._STAR_byte_order_STAR_ = _STAR_byte_order_STAR__temp_val__29656;

try{var header_spec = octet.core.spec.call(null,new cljs.core.Keyword(null,"num-objectives","num-objectives",-1302595446),octet.core.int16,new cljs.core.Keyword(null,"uncompressed-size","uncompressed-size",-434136147),octet.core.int32,new cljs.core.Keyword(null,"compressed-size","compressed-size",-1517579578),octet.core.int32);
var map__29657 = octet.core.read.call(null,buf,header_spec,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"offset","offset",296498311),offset], null));
var map__29657__$1 = (((((!((map__29657 == null))))?(((((map__29657.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29657.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29657):map__29657);
var num_objectives = cljs.core.get.call(null,map__29657__$1,new cljs.core.Keyword(null,"num-objectives","num-objectives",-1302595446));
var compressed_size = cljs.core.get.call(null,map__29657__$1,new cljs.core.Keyword(null,"compressed-size","compressed-size",-1517579578));
var uncompressed_size = cljs.core.get.call(null,map__29657__$1,new cljs.core.Keyword(null,"uncompressed-size","uncompressed-size",-434136147));
var data = weathergen.lzss.expand.call(null,buf,(offset + octet.core.size.call(null,header_spec)),compressed_size,uncompressed_size);
taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.falcon.files.mission",null,3337,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),(new cljs.core.Delay(((function (header_spec,map__29657,map__29657__$1,num_objectives,compressed_size,uncompressed_size,data,_STAR_byte_order_STAR__orig_val__29655,_STAR_byte_order_STAR__temp_val__29656,map__29653,map__29653__$1,entry,offset,length){
return (function (){
return new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, ["read objectives",new cljs.core.Keyword(null,"num-objectives","num-objectives",-1302595446),num_objectives,new cljs.core.Keyword(null,"compressed-size","compressed-size",-1517579578),compressed_size,new cljs.core.Keyword(null,"uncompressed-size","uncompressed-size",-434136147),uncompressed_size], null);
});})(header_spec,map__29657,map__29657__$1,num_objectives,compressed_size,uncompressed_size,data,_STAR_byte_order_STAR__orig_val__29655,_STAR_byte_order_STAR__temp_val__29656,map__29653,map__29653__$1,entry,offset,length))
,null)),null,-2096990929);

var r = octet.core.read.call(null,data,octet.core.repeat.call(null,num_objectives,cljs.core.apply.call(null,octet.core.spec,weathergen.falcon.files.mission.objective_fields)));
taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.falcon.files.mission",null,3344,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),(new cljs.core.Delay(((function (r,header_spec,map__29657,map__29657__$1,num_objectives,compressed_size,uncompressed_size,data,_STAR_byte_order_STAR__orig_val__29655,_STAR_byte_order_STAR__temp_val__29656,map__29653,map__29653__$1,entry,offset,length){
return (function (){
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, ["Done reading objectives"], null);
});})(r,header_spec,map__29657,map__29657__$1,num_objectives,compressed_size,uncompressed_size,data,_STAR_byte_order_STAR__orig_val__29655,_STAR_byte_order_STAR__temp_val__29656,map__29653,map__29653__$1,entry,offset,length))
,null)),null,1275535077);

return r;
}finally {octet.buffer._STAR_byte_order_STAR_ = _STAR_byte_order_STAR__orig_val__29655;
}}));
weathergen.falcon.files.mission.objective_delta = octet.core.spec.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"last-repair","last-repair",1138109175),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"owner","owner",-392611939),octet.core.ubyte,new cljs.core.Keyword(null,"supply","supply",-1701696309),octet.core.ubyte,new cljs.core.Keyword(null,"fuel","fuel",10405485),octet.core.ubyte,new cljs.core.Keyword(null,"losses","losses",-189206407),octet.core.ubyte,new cljs.core.Keyword(null,"f-status","f-status",782756103),weathergen.falcon.files.larray.call(null,octet.core.ubyte,octet.core.ubyte));
cljs.core._add_method.call(null,weathergen.falcon.files.mission.read_embedded_file_STAR_,new cljs.core.Keyword(null,"objective-deltas","objective-deltas",710518611),(function (_,p__29659,buf,___$1){
var map__29660 = p__29659;
var map__29660__$1 = (((((!((map__29660 == null))))?(((((map__29660.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29660.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29660):map__29660);
var entry = map__29660__$1;
var offset = cljs.core.get.call(null,map__29660__$1,new cljs.core.Keyword(null,"offset","offset",296498311));
var length = cljs.core.get.call(null,map__29660__$1,new cljs.core.Keyword(null,"length","length",588987862));
var _STAR_byte_order_STAR__orig_val__29662 = octet.buffer._STAR_byte_order_STAR_;
var _STAR_byte_order_STAR__temp_val__29663 = new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);
octet.buffer._STAR_byte_order_STAR_ = _STAR_byte_order_STAR__temp_val__29663;

try{var header_spec = octet.core.spec.call(null,new cljs.core.Keyword(null,"compressed-size","compressed-size",-1517579578),octet.core.int32,new cljs.core.Keyword(null,"num-deltas","num-deltas",543784659),octet.core.int16,new cljs.core.Keyword(null,"uncompressed-size","uncompressed-size",-434136147),octet.core.int32);
var map__29664 = octet.core.read.call(null,buf,header_spec,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"offset","offset",296498311),offset], null));
var map__29664__$1 = (((((!((map__29664 == null))))?(((((map__29664.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29664.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29664):map__29664);
var num_deltas = cljs.core.get.call(null,map__29664__$1,new cljs.core.Keyword(null,"num-deltas","num-deltas",543784659));
var compressed_size = cljs.core.get.call(null,map__29664__$1,new cljs.core.Keyword(null,"compressed-size","compressed-size",-1517579578));
var uncompressed_size = cljs.core.get.call(null,map__29664__$1,new cljs.core.Keyword(null,"uncompressed-size","uncompressed-size",-434136147));
var data = weathergen.lzss.expand.call(null,buf,(offset + octet.core.size.call(null,header_spec)),compressed_size,uncompressed_size);
return octet.core.read.call(null,data,octet.core.repeat.call(null,num_deltas,weathergen.falcon.files.mission.objective_delta));
}finally {octet.buffer._STAR_byte_order_STAR_ = _STAR_byte_order_STAR__orig_val__29662;
}}));
cljs.core._add_method.call(null,weathergen.falcon.files.mission.read_embedded_file_STAR_,new cljs.core.Keyword(null,"victory-conditions","victory-conditions",-1943285833),(function (_,p__29666,buf,___$1){
var map__29667 = p__29666;
var map__29667__$1 = (((((!((map__29667 == null))))?(((((map__29667.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29667.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29667):map__29667);
var entry = map__29667__$1;
var offset = cljs.core.get.call(null,map__29667__$1,new cljs.core.Keyword(null,"offset","offset",296498311));
var length = cljs.core.get.call(null,map__29667__$1,new cljs.core.Keyword(null,"length","length",588987862));
return octet.core.read.call(null,buf,weathergen.falcon.files.fixed_string.call(null,length),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"offset","offset",296498311),offset], null));
}));
weathergen.falcon.files.mission.team_air_action = octet.core.spec.call(null,new cljs.core.Keyword(null,"start","start",-355208981),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"stop","stop",-2140911342),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"objective","objective",1301058585),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"last-objective","last-objective",-1761076877),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"type","type",1174270348),octet.core.ubyte,new cljs.core.Keyword(null,"padding","padding",1660304693),octet.core.repeat.call(null,(3),octet.core.byte$));
weathergen.falcon.files.mission.team_ground_action = octet.core.spec.call(null,new cljs.core.Keyword(null,"time","time",1385887882),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"timeout","timeout",-318625318),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"objective","objective",1301058585),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"type","type",1174270348),octet.core.ubyte,new cljs.core.Keyword(null,"tempo","tempo",-1555208453),octet.core.ubyte,new cljs.core.Keyword(null,"points","points",-1486596883),octet.core.ubyte);
weathergen.falcon.files.mission.team_status = octet.core.spec.call(null,new cljs.core.Keyword(null,"air-defence-vehicles","air-defence-vehicles",933914278),octet.core.uint16,new cljs.core.Keyword(null,"aircraft","aircraft",-790597916),octet.core.uint16,new cljs.core.Keyword(null,"ground-vehicles","ground-vehicles",-103851136),octet.core.uint16,new cljs.core.Keyword(null,"ships","ships",-875113158),octet.core.uint16,new cljs.core.Keyword(null,"supply","supply",-1701696309),octet.core.uint16,new cljs.core.Keyword(null,"fuel","fuel",10405485),octet.core.uint16,new cljs.core.Keyword(null,"airbases","airbases",-1848087775),octet.core.uint16,new cljs.core.Keyword(null,"supply-level","supply-level",8080947),octet.core.ubyte,new cljs.core.Keyword(null,"fuel-level","fuel-level",1060451052),octet.core.ubyte);
weathergen.falcon.files.mission.atm_airbase = octet.core.spec.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"schedule","schedule",349275266),octet.core.repeat.call(null,weathergen.falcon.constants.ATM_MAX_CYCLES,octet.core.ubyte));
weathergen.falcon.files.mission.tasking_manager_fields = new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"id","id",-1388402092),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125),octet.core.uint16,new cljs.core.Keyword(null,"manager-flags","manager-flags",2031008919),octet.core.int16,new cljs.core.Keyword(null,"owner","owner",-392611939),octet.core.ubyte], null);
weathergen.falcon.files.mission.mission_request = octet.core.spec.call(null,new cljs.core.Keyword(null,"requester","requester",2032946161),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"target","target",253001721),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"secondary","secondary",-669381460),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"pak","pak",-1071422534),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"who","who",-235935040),octet.core.ubyte,new cljs.core.Keyword(null,"vs","vs",-2022097090),octet.core.ubyte,new cljs.core.Keyword(null,"padding","padding",1660304693),octet.core.repeat.call(null,(2),octet.core.byte$),new cljs.core.Keyword(null,"tot","tot",2086174646),octet.core.uint32,new cljs.core.Keyword(null,"tx","tx",466630418),octet.core.int16,new cljs.core.Keyword(null,"ty","ty",158290825),octet.core.int16,new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.uint32,new cljs.core.Keyword(null,"caps","caps",-183763072),octet.core.int16,new cljs.core.Keyword(null,"target-num","target-num",1623497814),octet.core.int16,new cljs.core.Keyword(null,"speed","speed",1257663751),octet.core.int16,new cljs.core.Keyword(null,"match-strength","match-strength",1432664922),octet.core.int16,new cljs.core.Keyword(null,"priority","priority",1431093715),octet.core.int16,new cljs.core.Keyword(null,"tot-type","tot-type",-524162589),octet.core.ubyte,new cljs.core.Keyword(null,"action-type","action-type",-1141667361),octet.core.ubyte,new cljs.core.Keyword(null,"mission","mission",1740288522),octet.core.ubyte,new cljs.core.Keyword(null,"aircraft","aircraft",-790597916),octet.core.ubyte,new cljs.core.Keyword(null,"context","context",-830191113),octet.core.ubyte,new cljs.core.Keyword(null,"roe-check","roe-check",-302273906),octet.core.ubyte,new cljs.core.Keyword(null,"delayed","delayed",251992229),octet.core.ubyte,new cljs.core.Keyword(null,"start-block","start-block",885980136),octet.core.ubyte,new cljs.core.Keyword(null,"final-block","final-block",-1801414066),octet.core.ubyte,new cljs.core.Keyword(null,"slots","slots",276818598),octet.core.repeat.call(null,(4),octet.core.ubyte),new cljs.core.Keyword(null,"min-to","min-to",-486357137),octet.core.byte$,new cljs.core.Keyword(null,"max-to","max-to",801697233),octet.core.byte$,new cljs.core.Keyword(null,"padding","padding",1660304693),octet.core.repeat.call(null,(3),octet.core.byte$));
weathergen.falcon.files.mission.air_tasking_manager = cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.tasking_manager_fields,new cljs.core.PersistentVector(null, 14, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.int16,new cljs.core.Keyword(null,"average-ca-strength","average-ca-strength",1605217659),octet.core.int16,new cljs.core.Keyword(null,"average-ca-missions","average-ca-missions",1515247290),octet.core.int16,new cljs.core.Keyword(null,"sample-cycles","sample-cycles",1176043458),octet.core.ubyte,new cljs.core.Keyword(null,"airbases","airbases",-1848087775),weathergen.falcon.files.larray.call(null,octet.core.ubyte,weathergen.falcon.files.mission.atm_airbase),new cljs.core.Keyword(null,"cycle","cycle",710365284),octet.core.ubyte,new cljs.core.Keyword(null,"mission-requests","mission-requests",75740277),weathergen.falcon.files.larray.call(null,octet.core.int16,weathergen.falcon.files.mission.mission_request)], null)));
weathergen.falcon.files.mission.ground_tasking_manager = cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.tasking_manager_fields,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.int16], null)));
weathergen.falcon.files.mission.naval_tasking_manager = cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.tasking_manager_fields,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.int16], null)));
weathergen.falcon.files.mission.team = octet.core.spec.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125),octet.core.uint16,new cljs.core.Keyword(null,"who","who",-235935040),octet.core.ubyte,new cljs.core.Keyword(null,"c-team","c-team",1058111407),octet.core.ubyte,new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.uint16,new cljs.core.Keyword(null,"members","members",159001018),octet.core.repeat.call(null,(8),octet.core.ubyte),new cljs.core.Keyword(null,"stance","stance",1737508388),octet.core.repeat.call(null,(8),octet.core.int16),new cljs.core.Keyword(null,"first-colonel","first-colonel",1587615555),octet.core.int16,new cljs.core.Keyword(null,"first-commander","first-commander",813403189),octet.core.int16,new cljs.core.Keyword(null,"first-wingman","first-wingman",1224041428),octet.core.int16,new cljs.core.Keyword(null,"last-wingman","last-wingman",199145869),octet.core.int16,new cljs.core.Keyword(null,"air-experience","air-experience",1765463253),octet.core.ubyte,new cljs.core.Keyword(null,"air-defense-experience","air-defense-experience",-1710546376),octet.core.ubyte,new cljs.core.Keyword(null,"ground-experience","ground-experience",107729084),octet.core.ubyte,new cljs.core.Keyword(null,"naval-experience","naval-experience",-527591070),octet.core.ubyte,new cljs.core.Keyword(null,"initiatve","initiatve",-26014217),octet.core.int16,new cljs.core.Keyword(null,"supply-available","supply-available",2126380660),octet.core.uint16,new cljs.core.Keyword(null,"fuel-available","fuel-available",-1529395011),octet.core.uint16,new cljs.core.Keyword(null,"replacements-available","replacements-available",-1198113611),octet.core.uint16,new cljs.core.Keyword(null,"player-rating","player-rating",-961496862),octet.core.float$,new cljs.core.Keyword(null,"last-player-mission","last-player-mission",-137478691),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"current-stats","current-stats",-1217775099),weathergen.falcon.files.mission.team_status,new cljs.core.Keyword(null,"start-stats","start-stats",-1172674533),weathergen.falcon.files.mission.team_status,new cljs.core.Keyword(null,"reinforcement","reinforcement",-1971947958),octet.core.int16,new cljs.core.Keyword(null,"bonus-objs","bonus-objs",-1412153629),octet.core.repeat.call(null,(20),weathergen.falcon.files.mission.vu_id),new cljs.core.Keyword(null,"bonus-time","bonus-time",-1996956468),octet.core.repeat.call(null,(20),octet.core.uint32),new cljs.core.Keyword(null,"obj-type-priority","obj-type-priority",-1521374560),octet.core.repeat.call(null,(36),octet.core.ubyte),new cljs.core.Keyword(null,"unit-type-priority","unit-type-priority",-1360846399),octet.core.repeat.call(null,(20),octet.core.ubyte),new cljs.core.Keyword(null,"mission-priority","mission-priority",1715506931),octet.core.repeat.call(null,(41),octet.core.ubyte),new cljs.core.Keyword(null,"max-vehicle","max-vehicle",1951303391),octet.core.repeat.call(null,(4),octet.core.ubyte),new cljs.core.Keyword(null,"team-flag","team-flag",-1307034656),octet.core.ubyte,new cljs.core.Keyword(null,"team-color","team-color",206199444),octet.core.ubyte,new cljs.core.Keyword(null,"equipment","equipment",790435115),octet.core.ubyte,new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.fixed_string.call(null,(20)),new cljs.core.Keyword(null,"motto","motto",-708709752),weathergen.falcon.files.fixed_string.call(null,(200)),new cljs.core.Keyword(null,"ground-action","ground-action",858540012),weathergen.falcon.files.mission.team_ground_action,new cljs.core.Keyword(null,"defensive-air-action","defensive-air-action",-480842903),weathergen.falcon.files.mission.team_air_action,new cljs.core.Keyword(null,"offensive-air-action","offensive-air-action",955423612),weathergen.falcon.files.mission.team_air_action);
weathergen.falcon.files.mission.team_record = octet.core.spec.call(null,new cljs.core.Keyword(null,"team","team",1355747699),weathergen.falcon.files.mission.team,new cljs.core.Keyword(null,"air-tasking-manager","air-tasking-manager",-279900872),weathergen.falcon.files.mission.air_tasking_manager,new cljs.core.Keyword(null,"ground-tasking-manager","ground-tasking-manager",1373954444),weathergen.falcon.files.mission.ground_tasking_manager,new cljs.core.Keyword(null,"naval-tasking-manager","naval-tasking-manager",862649185),weathergen.falcon.files.mission.naval_tasking_manager);
cljs.core._add_method.call(null,weathergen.falcon.files.mission.read_embedded_file_STAR_,new cljs.core.Keyword(null,"teams","teams",1677714510),(function (_,p__29669,buf,___$1){
var map__29670 = p__29669;
var map__29670__$1 = (((((!((map__29670 == null))))?(((((map__29670.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29670.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29670):map__29670);
var entry = map__29670__$1;
var offset = cljs.core.get.call(null,map__29670__$1,new cljs.core.Keyword(null,"offset","offset",296498311));
var length = cljs.core.get.call(null,map__29670__$1,new cljs.core.Keyword(null,"length","length",588987862));
var _STAR_byte_order_STAR__orig_val__29672 = octet.buffer._STAR_byte_order_STAR_;
var _STAR_byte_order_STAR__temp_val__29673 = new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);
octet.buffer._STAR_byte_order_STAR_ = _STAR_byte_order_STAR__temp_val__29673;

try{return octet.core.read.call(null,buf,weathergen.falcon.files.larray.call(null,octet.core.int16,weathergen.falcon.files.mission.team_record),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"offset","offset",296498311),offset], null));
}finally {octet.buffer._STAR_byte_order_STAR_ = _STAR_byte_order_STAR__orig_val__29672;
}}));
cljs.core._add_method.call(null,weathergen.falcon.files.mission.read_embedded_file_STAR_,new cljs.core.Keyword(null,"version","version",425292698),(function (_,p__29674,buf,___$1){
var map__29675 = p__29674;
var map__29675__$1 = (((((!((map__29675 == null))))?(((((map__29675.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29675.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29675):map__29675);
var entry = map__29675__$1;
var offset = cljs.core.get.call(null,map__29675__$1,new cljs.core.Keyword(null,"offset","offset",296498311));
var length = cljs.core.get.call(null,map__29675__$1,new cljs.core.Keyword(null,"length","length",588987862));
var version_string = octet.core.read.call(null,buf,weathergen.falcon.files.fixed_string.call(null,length),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"offset","offset",296498311),offset], null));
return new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"version","version",425292698),cljs.core.long$.call(null,(new Number(version_string)).valueOf())], null);
}));
weathergen.falcon.files.mission.waypoint = (function (){
if((typeof weathergen !== 'undefined') && (typeof weathergen.falcon !== 'undefined') && (typeof weathergen.falcon.files !== 'undefined') && (typeof weathergen.falcon.files.mission !== 'undefined') && (typeof weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29677 !== 'undefined')){
} else {

/**
* @constructor
 * @implements {octet.spec.ISpec}
 * @implements {cljs.core.IMeta}
 * @implements {cljs.core.IWithMeta}
*/
weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29677 = (function (meta29678){
this.meta29678 = meta29678;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29677.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_29679,meta29678__$1){
var self__ = this;
var _29679__$1 = this;
return (new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29677(meta29678__$1));
});

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29677.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_29679){
var self__ = this;
var _29679__$1 = this;
return self__.meta29678;
});

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29677.prototype.octet$spec$ISpec$ = cljs.core.PROTOCOL_SENTINEL;

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29677.prototype.octet$spec$ISpec$read$arity$3 = (function (_,buf,pos){
var self__ = this;
var ___$1 = this;
return weathergen.falcon.files.read__GT_.call(null,buf,pos,cljs.core.constantly.call(null,octet.core.spec.call(null,new cljs.core.Keyword(null,"haves","haves",-405191810),weathergen.falcon.files.bitflags.call(null,octet.core.ubyte,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"deptime","deptime",1842159584),(1),new cljs.core.Keyword(null,"target","target",253001721),(2)], null)),new cljs.core.Keyword(null,"grid-x","grid-x",1935903622),octet.core.int16,new cljs.core.Keyword(null,"grid-y","grid-y",1140315474),octet.core.int16,new cljs.core.Keyword(null,"grid-z","grid-z",855482282),octet.core.int16,new cljs.core.Keyword(null,"arrive","arrive",-284644322),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"action","action",-811238024),octet.core.ubyte,new cljs.core.Keyword(null,"route-action","route-action",1993857154),octet.core.ubyte,new cljs.core.Keyword(null,"formation","formation",-38517787),octet.core.ubyte,new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.uint32)),((function (___$1){
return (function (p__29680){
var map__29681 = p__29680;
var map__29681__$1 = (((((!((map__29681 == null))))?(((((map__29681.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29681.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29681):map__29681);
var haves = cljs.core.get.call(null,map__29681__$1,new cljs.core.Keyword(null,"haves","haves",-405191810));
if(cljs.core.truth_(haves.call(null,new cljs.core.Keyword(null,"target","target",253001721)))){
return octet.core.spec.call(null,new cljs.core.Keyword(null,"target-id","target-id",-1438159155),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"target-building","target-building",-464097984),octet.core.ubyte);
} else {
return weathergen.falcon.files.constant.call(null,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"target-id","target-id",-1438159155),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"name","name",1843675177),(0),new cljs.core.Keyword(null,"creator","creator",-1069241724),(0)], null),new cljs.core.Keyword(null,"target-building","target-building",-464097984),(255)], null));
}
});})(___$1))
,((function (___$1){
return (function (p__29683){
var map__29684 = p__29683;
var map__29684__$1 = (((((!((map__29684 == null))))?(((((map__29684.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29684.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29684):map__29684);
var haves = cljs.core.get.call(null,map__29684__$1,new cljs.core.Keyword(null,"haves","haves",-405191810));
var arrive = cljs.core.get.call(null,map__29684__$1,new cljs.core.Keyword(null,"arrive","arrive",-284644322));
if(cljs.core.truth_(haves.call(null,new cljs.core.Keyword(null,"deptime","deptime",1842159584)))){
return octet.core.spec.call(null,new cljs.core.Keyword(null,"depart","depart",-100007287),weathergen.falcon.files.mission.campaign_time);
} else {
return weathergen.falcon.files.constant.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"depart","depart",-100007287),arrive], null));
}
});})(___$1))
);
});

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29677.getBasis = (function (){
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"meta29678","meta29678",-1208443138,null)], null);
});

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29677.cljs$lang$type = true;

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29677.cljs$lang$ctorStr = "weathergen.falcon.files.mission/t_weathergen$falcon$files$mission29677";

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29677.cljs$lang$ctorPrWriter = (function (this__4374__auto__,writer__4375__auto__,opt__4376__auto__){
return cljs.core._write.call(null,writer__4375__auto__,"weathergen.falcon.files.mission/t_weathergen$falcon$files$mission29677");
});

/**
 * Positional factory function for weathergen.falcon.files.mission/t_weathergen$falcon$files$mission29677.
 */
weathergen.falcon.files.mission.__GT_t_weathergen$falcon$files$mission29677 = (function weathergen$falcon$files$mission$__GT_t_weathergen$falcon$files$mission29677(meta29678){
return (new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29677(meta29678));
});

}

return (new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29677(cljs.core.PersistentArrayMap.EMPTY));
})()
;
weathergen.falcon.files.mission.unit_fields = cljs.core.into.call(null,weathergen.falcon.files.mission.camp_base_fields,new cljs.core.PersistentVector(null, 28, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"last-check","last-check",-339535317),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"roster","roster",-2092272532),octet.core.int32,new cljs.core.Keyword(null,"unit-flags","unit-flags",-1443684773),weathergen.falcon.files.bitflags.call(null,octet.core.int32,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"inactive","inactive",-306247616),new cljs.core.Keyword(null,"targeted","targeted",1866166976),new cljs.core.Keyword(null,"scripted","scripted",841874113),new cljs.core.Keyword(null,"cargo","cargo",1523239588),new cljs.core.Keyword(null,"dead","dead",-1946604091),new cljs.core.Keyword(null,"parent","parent",-878878779),new cljs.core.Keyword(null,"no-abort","no-abort",-1391513562),new cljs.core.Keyword(null,"broken","broken",-1742446874),new cljs.core.Keyword(null,"supported","supported",495067239),new cljs.core.Keyword(null,"engaged","engaged",-2134702904),new cljs.core.Keyword(null,"b1","b1",-1270036758),new cljs.core.Keyword(null,"diverted","diverted",-1205267702),new cljs.core.Keyword(null,"assigned","assigned",902306794),new cljs.core.Keyword(null,"commando","commando",-1208493780),new cljs.core.Keyword(null,"detached","detached",-1742825972),new cljs.core.Keyword(null,"final","final",1157881357),new cljs.core.Keyword(null,"retreating","retreating",939624530),new cljs.core.Keyword(null,"ordered","ordered",1187041426),new cljs.core.Keyword(null,"temp-dest","temp-dest",1981885235),new cljs.core.Keyword(null,"locked","locked",-1658763820),new cljs.core.Keyword(null,"has-ecm","has-ecm",-911757707),new cljs.core.Keyword(null,"fired","fired",847762742),new cljs.core.Keyword(null,"b3","b3",1128981270),new cljs.core.Keyword(null,"has-pilots","has-pilots",2107982743),new cljs.core.Keyword(null,"fragmented","fragmented",2137375992),new cljs.core.Keyword(null,"moving","moving",1760797240),new cljs.core.Keyword(null,"losses","losses",-189206407),new cljs.core.Keyword(null,"no-pllaning","no-pllaning",391157466),new cljs.core.Keyword(null,"ia-kill","ia-kill",-551424899),new cljs.core.Keyword(null,"refused","refused",1763905885),new cljs.core.Keyword(null,"combat","combat",517558269)],[(131072),(1048576),(256),(8192),(1),(32),(67108864),(32768),(8388608),(64),(128),(4194304),(4),(512),(4194304),(1048576),(2097152),(8),(16777216),(16777216),(4096),(8388608),(2),(2097152),(262144),(1024),(65536),(16),(33554432),(2048),(16384)])),new cljs.core.Keyword(null,"destination-x","destination-x",360399650),octet.core.int16,new cljs.core.Keyword(null,"destination-y","destination-y",1591470692),octet.core.int16,new cljs.core.Keyword(null,"target-id","target-id",-1438159155),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"cargo-id","cargo-id",-1256830674),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"moved","moved",486549219),octet.core.ubyte,new cljs.core.Keyword(null,"losses","losses",-189206407),octet.core.ubyte,new cljs.core.Keyword(null,"tactic","tactic",-761722830),octet.core.ubyte,new cljs.core.Keyword(null,"current-wp","current-wp",-661271807),octet.core.uint16,new cljs.core.Keyword(null,"name-id","name-id",-279275372),octet.core.int16,new cljs.core.Keyword(null,"reinforcement","reinforcement",-1971947958),octet.core.int16,new cljs.core.Keyword(null,"waypoints","waypoints",-844253224),weathergen.falcon.files.larray.call(null,octet.core.uint16,weathergen.falcon.files.mission.waypoint)], null));
weathergen.falcon.files.mission.pilot = octet.core.spec.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),octet.core.int16,new cljs.core.Keyword(null,"skill-and-rating","skill-and-rating",749733118),octet.core.ubyte,new cljs.core.Keyword(null,"status","status",-1997798413),octet.core.ubyte,new cljs.core.Keyword(null,"aa-kills","aa-kills",-876434324),octet.core.ubyte,new cljs.core.Keyword(null,"ag-kills","ag-kills",-1864909861),octet.core.ubyte,new cljs.core.Keyword(null,"as-kills","as-kills",-1944782407),octet.core.ubyte,new cljs.core.Keyword(null,"an-kills","an-kills",-1903966172),octet.core.ubyte,new cljs.core.Keyword(null,"missions-flown","missions-flown",-1901147427),octet.core.int16);
weathergen.falcon.files.mission.loadout = octet.core.spec.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),octet.core.repeat.call(null,(16),octet.core.uint16),new cljs.core.Keyword(null,"count","count",2139924085),octet.core.repeat.call(null,(16),octet.core.ubyte));
weathergen.falcon.files.mission.flight = cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.unit_fields,cljs.core.PersistentVector.fromArray([new cljs.core.Keyword(null,"type","type",1174270348),weathergen.falcon.files.constant.call(null,new cljs.core.Keyword(null,"flight","flight",-764860679)),new cljs.core.Keyword(null,"pos-z","pos-z",-2046554196),octet.core.float$,new cljs.core.Keyword(null,"fuel-burnt","fuel-burnt",1132148442),octet.core.int32,new cljs.core.Keyword(null,"initial-fuel","initial-fuel",-761608263),octet.core.repeat.call(null,(4),octet.core.uint32),new cljs.core.Keyword(null,"laser-codes","laser-codes",1856569714),octet.core.repeat.call(null,(4),octet.core.uint16),new cljs.core.Keyword(null,"last-move","last-move",2069214404),weathergen.falcon.files.debug_spec.call(null,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"level","level",1290497552),new cljs.core.Keyword(null,"off","off",606440789),new cljs.core.Keyword(null,"msg","msg",-1386103444),"last-move"], null),weathergen.falcon.files.mission.campaign_time),new cljs.core.Keyword(null,"last-combat","last-combat",406442709),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"time-on-target","time-on-target",-857850216),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"mission-over-time","mission-over-time",949947865),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"mission-target","mission-target",467808629),weathergen.falcon.files.debug_spec.call(null,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"level","level",1290497552),new cljs.core.Keyword(null,"off","off",606440789),new cljs.core.Keyword(null,"msg","msg",-1386103444),"mission-target"], null),octet.core.int16),new cljs.core.Keyword(null,"loadouts","loadouts",1824879361),weathergen.falcon.files.debug_spec.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"level","level",1290497552),new cljs.core.Keyword(null,"off","off",606440789)], null),weathergen.falcon.files.larray.call(null,octet.core.ubyte,weathergen.falcon.files.mission.loadout)),new cljs.core.Keyword(null,"mission","mission",1740288522),octet.core.ubyte,new cljs.core.Keyword(null,"old-mission","old-mission",-292358051),octet.core.ubyte,new cljs.core.Keyword(null,"last-direction","last-direction",-1676432794),octet.core.ubyte,new cljs.core.Keyword(null,"priority","priority",1431093715),octet.core.ubyte,new cljs.core.Keyword(null,"mission-id","mission-id",1232466132),octet.core.ubyte,new cljs.core.Keyword(null,"eval-flags","eval-flags",1604606092),octet.core.ubyte,new cljs.core.Keyword(null,"mission-context","mission-context",-1613541188),octet.core.ubyte,new cljs.core.Keyword(null,"package","package",1189062786),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"squadron","squadron",-1131671273),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"requester","requester",2032946161),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"slots","slots",276818598),octet.core.repeat.call(null,(4),octet.core.ubyte),new cljs.core.Keyword(null,"pilots","pilots",353525853),weathergen.falcon.files.debug_spec.call(null,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"level","level",1290497552),new cljs.core.Keyword(null,"off","off",606440789),new cljs.core.Keyword(null,"msg","msg",-1386103444),"pilots"], null),octet.core.repeat.call(null,(4),octet.core.ubyte)),new cljs.core.Keyword(null,"plane-stats","plane-stats",-4010361),octet.core.repeat.call(null,(4),octet.core.ubyte),new cljs.core.Keyword(null,"player-slots","player-slots",-2024567622),octet.core.repeat.call(null,(4),octet.core.ubyte),new cljs.core.Keyword(null,"last-player-slot","last-player-slot",-1491370688),octet.core.ubyte,new cljs.core.Keyword(null,"callsign-id","callsign-id",501232863),octet.core.ubyte,new cljs.core.Keyword(null,"callsign-num","callsign-num",-1771041170),octet.core.ubyte,new cljs.core.Keyword(null,"refuel-quantity","refuel-quantity",-765272130),octet.core.uint32], true)));
weathergen.falcon.files.mission.squadron = cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.unit_fields,cljs.core.PersistentVector.fromArray([new cljs.core.Keyword(null,"type","type",1174270348),weathergen.falcon.files.constant.call(null,new cljs.core.Keyword(null,"squadron","squadron",-1131671273)),new cljs.core.Keyword(null,"fuel","fuel",10405485),octet.core.int32,new cljs.core.Keyword(null,"specialty","specialty",-159219386),octet.core.ubyte,new cljs.core.Keyword(null,"stores","stores",1203804823),octet.core.repeat.call(null,(1000),octet.core.ubyte),new cljs.core.Keyword(null,"pilots","pilots",353525853),octet.core.repeat.call(null,(48),weathergen.falcon.files.mission.pilot),new cljs.core.Keyword(null,"schedule","schedule",349275266),octet.core.repeat.call(null,(16),octet.core.int32),new cljs.core.Keyword(null,"airbase-id","airbase-id",-1975592308),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"hot-spot","hot-spot",-1626884754),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"rating","rating",144173662),octet.core.repeat.call(null,(16),octet.core.ubyte),new cljs.core.Keyword(null,"aa-kills","aa-kills",-876434324),octet.core.int16,new cljs.core.Keyword(null,"ag-kills","ag-kills",-1864909861),octet.core.int16,new cljs.core.Keyword(null,"as-kills","as-kills",-1944782407),octet.core.int16,new cljs.core.Keyword(null,"an-kills","an-kills",-1903966172),octet.core.int16,new cljs.core.Keyword(null,"missions-flown","missions-flown",-1901147427),octet.core.int16,new cljs.core.Keyword(null,"mission-score","mission-score",1969337799),octet.core.int16,new cljs.core.Keyword(null,"total-losses","total-losses",-404891334),octet.core.ubyte,new cljs.core.Keyword(null,"pilot-losses","pilot-losses",-1237633377),octet.core.ubyte,new cljs.core.Keyword(null,"squadron-patch","squadron-patch",883934030),octet.core.int16], true)));
weathergen.falcon.files.mission.package$ = (function (){var package_common = cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.unit_fields,new cljs.core.PersistentVector(null, 16, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"type","type",1174270348),weathergen.falcon.files.constant.call(null,new cljs.core.Keyword(null,"package","package",1189062786)),new cljs.core.Keyword(null,"elements","elements",657646735),weathergen.falcon.files.larray.call(null,octet.core.ubyte,weathergen.falcon.files.mission.vu_id),new cljs.core.Keyword(null,"interceptor","interceptor",1127739076),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"awacs","awacs",296317915),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"jstar","jstar",942398657),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"ecm","ecm",1070201018),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"tanker","tanker",932081370),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"wait-cycles","wait-cycles",1056333577),octet.core.ubyte], null)));
if((typeof weathergen !== 'undefined') && (typeof weathergen.falcon !== 'undefined') && (typeof weathergen.falcon.files !== 'undefined') && (typeof weathergen.falcon.files.mission !== 'undefined') && (typeof weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29686 !== 'undefined')){
} else {

/**
* @constructor
 * @implements {octet.spec.ISpec}
 * @implements {cljs.core.IMeta}
 * @implements {cljs.core.IWithMeta}
*/
weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29686 = (function (package_common,meta29687){
this.package_common = package_common;
this.meta29687 = meta29687;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29686.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = ((function (package_common){
return (function (_29688,meta29687__$1){
var self__ = this;
var _29688__$1 = this;
return (new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29686(self__.package_common,meta29687__$1));
});})(package_common))
;

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29686.prototype.cljs$core$IMeta$_meta$arity$1 = ((function (package_common){
return (function (_29688){
var self__ = this;
var _29688__$1 = this;
return self__.meta29687;
});})(package_common))
;

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29686.prototype.octet$spec$ISpec$ = cljs.core.PROTOCOL_SENTINEL;

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29686.prototype.octet$spec$ISpec$read$arity$3 = ((function (package_common){
return (function (_,buf,pos){
var self__ = this;
var ___$1 = this;
return weathergen.falcon.files.read__GT_.call(null,buf,pos,cljs.core.constantly.call(null,self__.package_common),((function (___$1,package_common){
return (function (p__29689){
var map__29690 = p__29689;
var map__29690__$1 = (((((!((map__29690 == null))))?(((((map__29690.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29690.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29690):map__29690);
var val = map__29690__$1;
var unit_flags = cljs.core.get.call(null,map__29690__$1,new cljs.core.Keyword(null,"unit-flags","unit-flags",-1443684773));
var wait_cycles = cljs.core.get.call(null,map__29690__$1,new cljs.core.Keyword(null,"wait-cycles","wait-cycles",1056333577));
if(cljs.core.truth_((function (){var and__4120__auto__ = (wait_cycles === (0));
if(and__4120__auto__){
return unit_flags.call(null,new cljs.core.Keyword(null,"final","final",1157881357));
} else {
return and__4120__auto__;
}
})())){
return octet.core.spec.call(null,new cljs.core.Keyword(null,"requests","requests",-733055638),octet.core.int16,new cljs.core.Keyword(null,"responses","responses",1257546453),octet.core.int16,new cljs.core.Keyword(null,"mission-request","mission-request",1082141061),octet.core.spec.call(null,new cljs.core.Keyword(null,"mission","mission",1740288522),octet.core.int16,new cljs.core.Keyword(null,"context","context",-830191113),octet.core.int16,new cljs.core.Keyword(null,"requester","requester",2032946161),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"target","target",253001721),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"tot","tot",2086174646),octet.core.uint32,new cljs.core.Keyword(null,"action-type","action-type",-1141667361),octet.core.ubyte,new cljs.core.Keyword(null,"priority","priority",1431093715),octet.core.int16,new cljs.core.Keyword(null,"package-flags","package-flags",-1703964557),weathergen.falcon.files.constant.call(null,(0))));
} else {
return octet.core.spec.call(null,new cljs.core.Keyword(null,"flights","flights",-1637719124),octet.core.ubyte,new cljs.core.Keyword(null,"wait-for","wait-for",603509654),octet.core.int16,new cljs.core.Keyword(null,"iax","iax",-433137964),octet.core.int16,new cljs.core.Keyword(null,"iay","iay",-521538055),octet.core.int16,new cljs.core.Keyword(null,"eax","eax",-547444364),octet.core.int16,new cljs.core.Keyword(null,"eay","eay",1273269818),octet.core.int16,new cljs.core.Keyword(null,"bpx","bpx",1117947531),octet.core.int16,new cljs.core.Keyword(null,"bpy","bpy",1257027485),octet.core.int16,new cljs.core.Keyword(null,"tpx","tpx",-159997489),octet.core.int16,new cljs.core.Keyword(null,"tpy","tpy",-1818085337),octet.core.int16,new cljs.core.Keyword(null,"takeoff","takeoff",719937767),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"tp-time","tp-time",1666792567),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"package-flags","package-flags",-1703964557),octet.core.uint32,new cljs.core.Keyword(null,"caps","caps",-183763072),octet.core.int16,new cljs.core.Keyword(null,"requests","requests",-733055638),octet.core.int16,new cljs.core.Keyword(null,"responses","responses",1257546453),octet.core.int16,new cljs.core.Keyword(null,"ingress-waypoints","ingress-waypoints",-335959125),weathergen.falcon.files.larray.call(null,octet.core.ubyte,weathergen.falcon.files.mission.waypoint),new cljs.core.Keyword(null,"egress-waypoints","egress-waypoints",1279029151),weathergen.falcon.files.larray.call(null,octet.core.ubyte,weathergen.falcon.files.mission.waypoint),new cljs.core.Keyword(null,"mission-request","mission-request",1082141061),weathergen.falcon.files.mission.mission_request);
}
});})(___$1,package_common))
);
});})(package_common))
;

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29686.getBasis = ((function (package_common){
return (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"package-common","package-common",119587311,null),new cljs.core.Symbol(null,"meta29687","meta29687",-2047123773,null)], null);
});})(package_common))
;

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29686.cljs$lang$type = true;

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29686.cljs$lang$ctorStr = "weathergen.falcon.files.mission/t_weathergen$falcon$files$mission29686";

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29686.cljs$lang$ctorPrWriter = ((function (package_common){
return (function (this__4374__auto__,writer__4375__auto__,opt__4376__auto__){
return cljs.core._write.call(null,writer__4375__auto__,"weathergen.falcon.files.mission/t_weathergen$falcon$files$mission29686");
});})(package_common))
;

/**
 * Positional factory function for weathergen.falcon.files.mission/t_weathergen$falcon$files$mission29686.
 */
weathergen.falcon.files.mission.__GT_t_weathergen$falcon$files$mission29686 = ((function (package_common){
return (function weathergen$falcon$files$mission$__GT_t_weathergen$falcon$files$mission29686(package_common__$1,meta29687){
return (new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29686(package_common__$1,meta29687));
});})(package_common))
;

}

return (new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29686(package_common,cljs.core.PersistentArrayMap.EMPTY));
})();
weathergen.falcon.files.mission.ground_unit_fields = cljs.core.into.call(null,weathergen.falcon.files.mission.unit_fields,new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"orders","orders",-1032870176),octet.core.ubyte,new cljs.core.Keyword(null,"division","division",259369926),octet.core.int16,new cljs.core.Keyword(null,"aobj","aobj",-793409761),weathergen.falcon.files.mission.vu_id], null));
weathergen.falcon.files.mission.brigade = cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.ground_unit_fields,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"type","type",1174270348),weathergen.falcon.files.constant.call(null,new cljs.core.Keyword(null,"brigade","brigade",1288936530)),new cljs.core.Keyword(null,"elements","elements",657646735),weathergen.falcon.files.larray.call(null,octet.core.ubyte,weathergen.falcon.files.mission.vu_id)], null)));
weathergen.falcon.files.mission.battalion = cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.ground_unit_fields,new cljs.core.PersistentVector(null, 22, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"type","type",1174270348),weathergen.falcon.files.constant.call(null,new cljs.core.Keyword(null,"battalion","battalion",1283181700)),new cljs.core.Keyword(null,"last-move","last-move",2069214404),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"last-combat","last-combat",406442709),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"parent-id","parent-id",-1400729131),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"last-obj","last-obj",-2066143568),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"supply","supply",-1701696309),octet.core.ubyte,new cljs.core.Keyword(null,"fatigue","fatigue",435886183),octet.core.ubyte,new cljs.core.Keyword(null,"morale","morale",980493731),octet.core.ubyte,new cljs.core.Keyword(null,"heading","heading",-1312171873),octet.core.ubyte,new cljs.core.Keyword(null,"final-heading","final-heading",-13156462),octet.core.ubyte,new cljs.core.Keyword(null,"position","position",-2011731912),octet.core.ubyte], null)));
weathergen.falcon.files.mission.task_force = cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.unit_fields,new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"type","type",1174270348),weathergen.falcon.files.constant.call(null,new cljs.core.Keyword(null,"task-force","task-force",1860415305)),new cljs.core.Keyword(null,"orders","orders",-1032870176),octet.core.ubyte,new cljs.core.Keyword(null,"supply","supply",-1701696309),octet.core.ubyte], null)));
/**
 * Returns an octet spec for unit records against the given
 *   class table.
 */
weathergen.falcon.files.mission.unit_record = (function weathergen$falcon$files$mission$unit_record(database){
if((typeof weathergen !== 'undefined') && (typeof weathergen.falcon !== 'undefined') && (typeof weathergen.falcon.files !== 'undefined') && (typeof weathergen.falcon.files.mission !== 'undefined') && (typeof weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29692 !== 'undefined')){
} else {

/**
* @constructor
 * @implements {octet.spec.ISpec}
 * @implements {cljs.core.IMeta}
 * @implements {cljs.core.IWithMeta}
*/
weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29692 = (function (database,meta29693){
this.database = database;
this.meta29693 = meta29693;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29692.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_29694,meta29693__$1){
var self__ = this;
var _29694__$1 = this;
return (new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29692(self__.database,meta29693__$1));
});

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29692.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_29694){
var self__ = this;
var _29694__$1 = this;
return self__.meta29693;
});

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29692.prototype.octet$spec$ISpec$ = cljs.core.PROTOCOL_SENTINEL;

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29692.prototype.octet$spec$ISpec$read$arity$3 = (function (_,buf,pos){
var self__ = this;
var ___$1 = this;
var type_id = octet.core.read.call(null,buf,octet.core.int16,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"offset","offset",296498311),pos], null));
if((type_id === (0))){
taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.falcon.files.mission",null,3810,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),(new cljs.core.Delay(((function (type_id,___$1){
return (function (){
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, ["unit-record: found zero unit-type entry.."], null);
});})(type_id,___$1))
,null)),null,-702957033);

return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(2),null], null);
} else {
var map__29695 = weathergen.falcon.files.mission.class_info.call(null,self__.database,type_id);
var map__29695__$1 = (((((!((map__29695 == null))))?(((((map__29695.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29695.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29695):map__29695);
var domain = cljs.core.get.call(null,map__29695__$1,new cljs.core.Keyword(null,"domain","domain",1847214937));
var type = cljs.core.get.call(null,map__29695__$1,new cljs.core.Keyword(null,"type","type",1174270348));
var spc = (function (){var pred__29700 = cljs.core._EQ_;
var expr__29701 = new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [domain,type], null);
if(cljs.core.truth_(pred__29700.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.constants.DOMAIN_AIR,weathergen.falcon.constants.TYPE_FLIGHT], null),expr__29701))){
return weathergen.falcon.files.mission.flight;
} else {
if(cljs.core.truth_(pred__29700.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.constants.DOMAIN_AIR,weathergen.falcon.constants.TYPE_PACKAGE], null),expr__29701))){
return weathergen.falcon.files.mission.package$;
} else {
if(cljs.core.truth_(pred__29700.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.constants.DOMAIN_AIR,weathergen.falcon.constants.TYPE_SQUADRON], null),expr__29701))){
return weathergen.falcon.files.mission.squadron;
} else {
if(cljs.core.truth_(pred__29700.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.constants.DOMAIN_LAND,weathergen.falcon.constants.TYPE_BATTALION], null),expr__29701))){
return weathergen.falcon.files.mission.battalion;
} else {
if(cljs.core.truth_(pred__29700.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.constants.DOMAIN_LAND,weathergen.falcon.constants.TYPE_BRIGADE], null),expr__29701))){
return weathergen.falcon.files.mission.brigade;
} else {
if(cljs.core.truth_(pred__29700.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.falcon.constants.DOMAIN_SEA,weathergen.falcon.constants.TYPE_TASKFORCE], null),expr__29701))){
return weathergen.falcon.files.mission.task_force;
} else {
throw (new Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__29701)].join('')));
}
}
}
}
}
}
})();
var vec__29696 = (function (){try{return octet.core.read_STAR_.call(null,buf,spc,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"offset","offset",296498311),(pos + (2))], null));
}catch (e29703){var x = e29703;
taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"error","error",-978969032),"weathergen.falcon.files.mission",null,3851,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),(new cljs.core.Delay(((function (x,map__29695,map__29695__$1,domain,type,spc,type_id,___$1){
return (function (){
return new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,"unit-record read",new cljs.core.Keyword(null,"domain","domain",1847214937),domain,new cljs.core.Keyword(null,"type","type",1174270348),type,new cljs.core.Keyword(null,"pos","pos",-864607220),pos], null);
});})(x,map__29695,map__29695__$1,domain,type,spc,type_id,___$1))
,null)),null,1537274834);

throw x;
}})();
var datasize = cljs.core.nth.call(null,vec__29696,(0),null);
var data = cljs.core.nth.call(null,vec__29696,(1),null);
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(datasize + (2)),cljs.core.assoc.call(null,data,new cljs.core.Keyword(null,"type-id","type-id",2030062700),type_id)], null);
}
});

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29692.getBasis = (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"database","database",-805348194,null),new cljs.core.Symbol(null,"meta29693","meta29693",1436998975,null)], null);
});

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29692.cljs$lang$type = true;

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29692.cljs$lang$ctorStr = "weathergen.falcon.files.mission/t_weathergen$falcon$files$mission29692";

weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29692.cljs$lang$ctorPrWriter = (function (this__4374__auto__,writer__4375__auto__,opt__4376__auto__){
return cljs.core._write.call(null,writer__4375__auto__,"weathergen.falcon.files.mission/t_weathergen$falcon$files$mission29692");
});

/**
 * Positional factory function for weathergen.falcon.files.mission/t_weathergen$falcon$files$mission29692.
 */
weathergen.falcon.files.mission.__GT_t_weathergen$falcon$files$mission29692 = (function weathergen$falcon$files$mission$unit_record_$___GT_t_weathergen$falcon$files$mission29692(database__$1,meta29693){
return (new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29692(database__$1,meta29693));
});

}

return (new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29692(database,cljs.core.PersistentArrayMap.EMPTY));
});
cljs.core._add_method.call(null,weathergen.falcon.files.mission.read_embedded_file_STAR_,new cljs.core.Keyword(null,"units","units",-533089095),(function (_,p__29704,buf,p__29705){
var map__29706 = p__29704;
var map__29706__$1 = (((((!((map__29706 == null))))?(((((map__29706.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29706.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29706):map__29706);
var entry = map__29706__$1;
var offset = cljs.core.get.call(null,map__29706__$1,new cljs.core.Keyword(null,"offset","offset",296498311));
var length = cljs.core.get.call(null,map__29706__$1,new cljs.core.Keyword(null,"length","length",588987862));
var map__29707 = p__29705;
var map__29707__$1 = (((((!((map__29707 == null))))?(((((map__29707.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29707.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29707):map__29707);
var database = map__29707__$1;
var class_table = cljs.core.get.call(null,map__29707__$1,new cljs.core.Keyword(null,"class-table","class-table",207400992));
var _STAR_byte_order_STAR__orig_val__29710 = octet.buffer._STAR_byte_order_STAR_;
var _STAR_byte_order_STAR__temp_val__29711 = new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);
octet.buffer._STAR_byte_order_STAR_ = _STAR_byte_order_STAR__temp_val__29711;

try{var header_spec = octet.core.spec.call(null,new cljs.core.Keyword(null,"compressed-size","compressed-size",-1517579578),octet.core.int32,new cljs.core.Keyword(null,"num-units","num-units",1389753073),octet.core.int16,new cljs.core.Keyword(null,"uncompressed-size","uncompressed-size",-434136147),octet.core.int32);
var map__29712 = octet.core.read.call(null,buf,header_spec,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"offset","offset",296498311),offset], null));
var map__29712__$1 = (((((!((map__29712 == null))))?(((((map__29712.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29712.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29712):map__29712);
var compressed_size = cljs.core.get.call(null,map__29712__$1,new cljs.core.Keyword(null,"compressed-size","compressed-size",-1517579578));
var num_units = cljs.core.get.call(null,map__29712__$1,new cljs.core.Keyword(null,"num-units","num-units",1389753073));
var uncompressed_size = cljs.core.get.call(null,map__29712__$1,new cljs.core.Keyword(null,"uncompressed-size","uncompressed-size",-434136147));
var data = weathergen.lzss.expand.call(null,buf,(offset + octet.core.size.call(null,header_spec)),(length - (6)),uncompressed_size);
return cljs.core.mapv.call(null,((function (header_spec,map__29712,map__29712__$1,compressed_size,num_units,uncompressed_size,data,_STAR_byte_order_STAR__orig_val__29710,_STAR_byte_order_STAR__temp_val__29711,map__29706,map__29706__$1,entry,offset,length,map__29707,map__29707__$1,database,class_table){
return (function (unit){
return cljs.core.assoc.call(null,unit,new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.mission.unit_name.call(null,database,unit));
});})(header_spec,map__29712,map__29712__$1,compressed_size,num_units,uncompressed_size,data,_STAR_byte_order_STAR__orig_val__29710,_STAR_byte_order_STAR__temp_val__29711,map__29706,map__29706__$1,entry,offset,length,map__29707,map__29707__$1,database,class_table))
,cljs.core.remove.call(null,cljs.core.nil_QMARK_,octet.core.read.call(null,data,octet.core.repeat.call(null,num_units,weathergen.falcon.files.mission.unit_record.call(null,database)))));
}finally {octet.buffer._STAR_byte_order_STAR_ = _STAR_byte_order_STAR__orig_val__29710;
}}));
cljs.core._add_method.call(null,weathergen.falcon.files.mission.read_embedded_file_STAR_,new cljs.core.Keyword(null,"default","default",-1987822328),(function (_,entry,buf,___$1){
return new cljs.core.Keyword(null,"not-yet-implemented","not-yet-implemented",354832030);
}));
/**
 * Returns a seq of airbases.
 */
weathergen.falcon.files.mission.oob_air = (function weathergen$falcon$files$mission$oob_air(mission){
var map__29714 = mission;
var map__29714__$1 = (((((!((map__29714 == null))))?(((((map__29714.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__29714.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__29714):map__29714);
var airbases = cljs.core.get.call(null,map__29714__$1,new cljs.core.Keyword("weathergen.falcon.files.mission","airbases","weathergen.falcon.files.mission/airbases",-216602213));
var carriers = cljs.core.get.call(null,map__29714__$1,new cljs.core.Keyword("weathergen.falcon.files.mission","carriers","weathergen.falcon.files.mission/carriers",1286085937));
var army_bases = cljs.core.get.call(null,map__29714__$1,new cljs.core.Keyword("weathergen.falcon.files.mission","army-bases","weathergen.falcon.files.mission/army-bases",-1064227486));
return cljs.core.vec.call(null,cljs.core.concat.call(null,airbases,carriers,army_bases));
});
/**
 * Returns the order of battle, a map from category (air,
 *   army, naval, objective) to entries (specific to category).
 */
weathergen.falcon.files.mission.order_of_battle = (function weathergen$falcon$files$mission$order_of_battle(mission){
return new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"air","air",-104121788),weathergen.falcon.files.mission.oob_air.call(null,mission)], null);
});
/**
 * Returns the current time in the virtual world.
 */
weathergen.falcon.files.mission.mission_time = (function weathergen$falcon$files$mission$mission_time(mission){
return new cljs.core.Keyword(null,"current-time","current-time",-1609407134).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966).cljs$core$IFn$_invoke$arity$1(mission));
});
