Module("util/config/common",[Imports([Import("collection/hash-table/common")]),Strategies([SDefNoArgs("get-config",BA(CallNoArgs(SVar("table-get")),NoAnnoList(Tuple([NoAnnoList(Str("\"config\"")),RootApp(Id)])))),SDef("get-configs",[DefaultVarDec("pred")],Seq(BA(CallNoArgs(SVar("table-getlist")),NoAnnoList(Str("\"config\""))),Call(SVar("filter"),[Seq(TupleCong(CallNoArgs(SVar("pred")),[Id]),CallNoArgs(SVar("Snd")))]))),SDef("get-config-keys",[DefaultVarDec("pred")],Seq(BA(CallNoArgs(SVar("table-getlist")),NoAnnoList(Str("\"config\""))),Call(SVar("filter"),[Seq(TupleCong(CallNoArgs(SVar("pred")),[Id]),CallNoArgs(SVar("Fst")))])))]),Strategies([SDefNoArgs("set-config",Seq(Match(NoAnnoList(Tuple([Var("key"),Var("val")]))),BA(CallNoArgs(SVar("table-put")),NoAnnoList(Tuple([NoAnnoList(Str("\"config\"")),Var("key"),Var("val")]))))),SDefNoArgs("rm-config",Seq(Match(Var("key")),BA(CallNoArgs(SVar("table-remove")),NoAnnoList(Tuple([NoAnnoList(Str("\"config\"")),Var("key")]))))),SDefNoArgs("toggle-config",Seq(Match(NoAnnoList(Tuple([Var("key"),Var("val")]))),CondChoice(BA(CallNoArgs(SVar("get-config")),Var("key")),BA(CallNoArgs(SVar("table-remove")),NoAnnoList(Tuple([NoAnnoList(Str("\"config\"")),Var("key")]))),BA(CallNoArgs(SVar("set-config")),NoAnnoList(Tuple([Var("key"),Var("val")])))))),SDefNoArgs("extend-config",Seq(Match(NoAnnoList(Tuple([Var("key"),Var("val")]))),BA(CallNoArgs(SVar("table-put")),NoAnnoList(Tuple([NoAnnoList(Str("\"config\"")),Var("key"),App(CallNoArgs(SVar("conc")),NoAnnoList(Tuple([Var("val"),App(LChoice(CallNoArgs(SVar("get-config")),Build(NoAnnoList(List([])))),Var("key"))])))]))))),SDefNoArgs("post-extend-config",Seq(Match(NoAnnoList(Tuple([Var("key"),Var("val")]))),BA(CallNoArgs(SVar("table-put")),NoAnnoList(Tuple([NoAnnoList(Str("\"config\"")),Var("key"),App(CallNoArgs(SVar("conc")),NoAnnoList(Tuple([App(LChoice(CallNoArgs(SVar("get-config")),Build(NoAnnoList(List([])))),Var("key")),Var("val")])))])))))])])
