type [<Struct>] US0 =
    | US0_0
    | US0_1
    | US0_2
    | US0_3
    | US0_4
let rec method0 () : struct (string * string * string * bool) =
    let v0 : string = ""
    let v1 : obj = v0
    struct (v0, v0, v0, true)
and method1 (v0 : string) : Types.EmitType<Types.std.string.String> =
    let v1 : string = "String::from(core::ops::Deref::deref($0))"
    let v2 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v0 v1
    let v3 : Types.EmitType<Types.std.string.String> = v2 |> unbox<Types.EmitType<Types.std.string.String>>
    v3
and method2 (v0 : Types.rocket.http.uri.Segments<Types.rocket.http.uri.fmt.Path>) : Types.EmitType<Types.std.string.String> =
    let v1 : string = "format!(\"{:?}\", $0)"
    let v2 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v0 v1
    let v3 : Types.EmitType<Types.std.string.String> = v2 |> unbox<Types.EmitType<Types.std.string.String>>
    v3
and method4 (v0 : int32, v1 : string) : string =
    let v2 : int32 = String.length v1
    let v3 : bool = v2 < v0
    if v3 then
        let v4 : string = $"0{v1}"
        method4(v0, v4)
    else
        v1
and method5 (v0 : uint8) : Types.EmitType<Types.std.string.String> =
    let v1 : string = "format!(\"{:?}\", $0)"
    let v2 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v0 v1
    let v3 : Types.EmitType<Types.std.string.String> = v2 |> unbox<Types.EmitType<Types.std.string.String>>
    v3
and method6 (v0 : Types.std.string.String) : Types.EmitType<Types.std.string.String> =
    let v1 : Types.EmitType<Types.std.string.String> = v0 |> unbox<Types.EmitType<Types.std.string.String>>
    v1
and method7 (v0 : (Types.EmitType<Types.std.string.String> [])) : Types.EmitType<Types.std.string.String> =
    let v1 : string = "$0"
    let v2 : Types.Ref<(Types.EmitType<Types.std.string.String> [])> = Fable.Core.RustInterop.emitRustExpr v0 v1
    let v3 : string = "core::ops::Deref::deref(v2)"
    let v4 : Types.Ref<(Types.EmitType<Types.std.string.String> [])> = Fable.Core.RustInterop.emitRustExpr () v3
    let v5 : obj = v4
    let v6 : string = "format!(\"{:?}\", $0)"
    let v7 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v5 v6
    let v8 : Types.EmitType<Types.std.string.String> = v7 |> unbox<Types.EmitType<Types.std.string.String>>
    v8
and method8 (v0 : string) : string =
    v0
and method9 () : string =
    let v0 : string = "$1=$2"
    v0
and method10 (v0 : Types.std.string.String) : Types.std.string.String =
    v0
and method11 () : string =
    let v0 : string = "[$1]"
    v0
and method12 () : string =
    let v0 : string = "\""
    v0
and method13 () : string =
    let v0 : string = " "
    v0
and method3 (v0 : int64, v1 : (Types.EmitType<Types.std.string.String> [])) : unit =
    let v2 : string = "chrono::Utc::now()"
    let v3 : Types.chrono.DateTime<Types.chrono.Utc> = Fable.Core.RustInterop.emitRustExpr () v2
    let v4 : string = "($0).timestamp()"
    let v5 : int64 = Fable.Core.RustInterop.emitRustExpr v3 v4
    let v6 : int64 = v5 - v0
    let v7 : string = (v6).ToString ()
    let v8 : int32 = 6
    let v9 : string = method4(v8, v7)
    let v10 : string = "rand::random::<u8>()"
    let v11 : uint8 = Fable.Core.RustInterop.emitRustExpr () v10
    let v12 : string = "timestamp"
    let v13 : Types.EmitType<Types.std.string.String> = method1(v12)
    let v14 : Types.EmitType<Types.std.string.String> = method1(v9)
    let v15 : string = "run_id"
    let v16 : Types.EmitType<Types.std.string.String> = method1(v15)
    let v17 : Types.EmitType<Types.std.string.String> = method5(v11)
    let v18 : string = "log_level"
    let v19 : Types.EmitType<Types.std.string.String> = method1(v18)
    let v20 : US0 = US0_1
    let v21 : string = "format!(\"{:?}\", $0)"
    let v22 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v20 v21
    let v23 : Types.EmitType<Types.std.string.String> = method6(v22)
    let v24 : (Types.EmitType<Types.std.string.String> []) = [|v13; v14; v16; v17; v19; v23|]
    let v25 : Types.EmitType<Types.std.string.String> = method7(v24)
    let v26 : string = "> parseUrls ()"
    let v27 : Types.EmitType<Types.std.string.String> = method1(v26)
    let v28 : (Types.EmitType<Types.std.string.String> []) = [|v27|]
    let v29 : string = "$0"
    let v30 : Types.Ref<(Types.EmitType<Types.std.string.String> [])> = Fable.Core.RustInterop.emitRustExpr v28 v29
    let v31 : string = "core::ops::Deref::deref(v30)"
    let v32 : Types.Ref<(Types.EmitType<Types.std.string.String> [])> = Fable.Core.RustInterop.emitRustExpr () v31
    let v33 : obj = v32
    let v34 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v33 v21
    let v35 : Types.EmitType<Types.std.string.String> = v34 |> unbox<Types.EmitType<Types.std.string.String>>
    let v36 : string = "format!(\"{}\", $0)"
    let v37 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v35 v36
    let v38 : string = (v37).ToString ()
    let v39 : string = "\"([^\"]+)\", \"([^\"]+)\""
    let v40 : string = "r#\"" + v39 + "\"#"
    let v41 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v40
    let v42 : string = "regex::RegexBuilder::new($0)"
    let v43 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v41 v42
    let v44 : string = "$0.build().unwrap()"
    let v45 : Types.Ref<Types.regex.Regex> = Fable.Core.RustInterop.emitRustExpr v43 v44
    let v46 : string = method8(v38)
    let v47 : string = "v46.as_str()"
    let v48 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v47
    let v49 : string = method9()
    let v50 : string = "v49.as_str()"
    let v51 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v50
    let v52 : string = "$0.replace_all(&$1, $2).to_string()"
    let v53 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v45, v48, v51) v52
    let v54 : Types.std.string.String = method10(v53)
    let v55 : string = "fable_library_rust::String_::fromString(v54)"
    let v56 : string = Fable.Core.RustInterop.emitRustExpr () v55
    let v57 : string = "\\[\"(.*?)\"\\]"
    let v58 : string = "r#\"" + v57 + "\"#"
    let v59 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v58
    let v60 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v59 v42
    let v61 : Types.Ref<Types.regex.Regex> = Fable.Core.RustInterop.emitRustExpr v60 v44
    let v62 : string = method8(v56)
    let v63 : string = "v62.as_str()"
    let v64 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v63
    let v65 : string = method11()
    let v66 : string = "v65.as_str()"
    let v67 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v66
    let v68 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v61, v64, v67) v52
    let v69 : Types.std.string.String = method10(v68)
    let v70 : string = "fable_library_rust::String_::fromString(v69)"
    let v71 : string = Fable.Core.RustInterop.emitRustExpr () v70
    let v72 : string = "\\\\\""
    let v73 : string = "r#\"" + v72 + "\"#"
    let v74 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v73
    let v75 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v74 v42
    let v76 : Types.Ref<Types.regex.Regex> = Fable.Core.RustInterop.emitRustExpr v75 v44
    let v77 : string = method8(v71)
    let v78 : string = "v77.as_str()"
    let v79 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v78
    let v80 : string = method12()
    let v81 : string = "v80.as_str()"
    let v82 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v81
    let v83 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v76, v79, v82) v52
    let v84 : Types.std.string.String = method10(v83)
    let v85 : string = "fable_library_rust::String_::fromString(v84)"
    let v86 : string = Fable.Core.RustInterop.emitRustExpr () v85
    let v87 : string = ", "
    let v88 : string = "r#\"" + v87 + "\"#"
    let v89 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v88
    let v90 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v89 v42
    let v91 : Types.Ref<Types.regex.Regex> = Fable.Core.RustInterop.emitRustExpr v90 v44
    let v92 : string = method8(v86)
    let v93 : string = "v92.as_str()"
    let v94 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v93
    let v95 : string = method13()
    let v96 : string = "v95.as_str()"
    let v97 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v96
    let v98 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v91, v94, v97) v52
    let v99 : Types.std.string.String = method10(v98)
    let v100 : string = "fable_library_rust::String_::fromString(v99)"
    let v101 : string = Fable.Core.RustInterop.emitRustExpr () v100
    let v102 : Types.EmitType<Types.std.string.String> = method1(v101)
    let v103 : string = "$0"
    let v104 : Types.Ref<(Types.EmitType<Types.std.string.String> [])> = Fable.Core.RustInterop.emitRustExpr v1 v103
    let v105 : string = "core::ops::Deref::deref(v104)"
    let v106 : Types.Ref<(Types.EmitType<Types.std.string.String> [])> = Fable.Core.RustInterop.emitRustExpr () v105
    let v107 : obj = v106
    let v108 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v107 v21
    let v109 : Types.EmitType<Types.std.string.String> = v108 |> unbox<Types.EmitType<Types.std.string.String>>
    let v110 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v109 v36
    let v111 : string = (v110).ToString ()
    let v112 : string = "r#\"" + v39 + "\"#"
    let v113 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v112
    let v114 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v113 v42
    let v115 : Types.Ref<Types.regex.Regex> = Fable.Core.RustInterop.emitRustExpr v114 v44
    let v116 : string = method8(v111)
    let v117 : string = "v116.as_str()"
    let v118 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v117
    let v119 : string = method9()
    let v120 : string = "v119.as_str()"
    let v121 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v120
    let v122 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v115, v118, v121) v52
    let v123 : Types.std.string.String = method10(v122)
    let v124 : string = "fable_library_rust::String_::fromString(v123)"
    let v125 : string = Fable.Core.RustInterop.emitRustExpr () v124
    let v126 : string = "r#\"" + v57 + "\"#"
    let v127 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v126
    let v128 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v127 v42
    let v129 : Types.Ref<Types.regex.Regex> = Fable.Core.RustInterop.emitRustExpr v128 v44
    let v130 : string = method8(v125)
    let v131 : string = "v130.as_str()"
    let v132 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v131
    let v133 : string = method11()
    let v134 : string = "v133.as_str()"
    let v135 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v134
    let v136 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v129, v132, v135) v52
    let v137 : Types.std.string.String = method10(v136)
    let v138 : string = "fable_library_rust::String_::fromString(v137)"
    let v139 : string = Fable.Core.RustInterop.emitRustExpr () v138
    let v140 : string = "r#\"" + v72 + "\"#"
    let v141 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v140
    let v142 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v141 v42
    let v143 : Types.Ref<Types.regex.Regex> = Fable.Core.RustInterop.emitRustExpr v142 v44
    let v144 : string = method8(v139)
    let v145 : string = "v144.as_str()"
    let v146 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v145
    let v147 : string = method12()
    let v148 : string = "v147.as_str()"
    let v149 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v148
    let v150 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v143, v146, v149) v52
    let v151 : Types.std.string.String = method10(v150)
    let v152 : string = "fable_library_rust::String_::fromString(v151)"
    let v153 : string = Fable.Core.RustInterop.emitRustExpr () v152
    let v154 : string = "r#\"" + v87 + "\"#"
    let v155 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v154
    let v156 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v155 v42
    let v157 : Types.Ref<Types.regex.Regex> = Fable.Core.RustInterop.emitRustExpr v156 v44
    let v158 : string = method8(v153)
    let v159 : string = "v158.as_str()"
    let v160 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v159
    let v161 : string = method13()
    let v162 : string = "v161.as_str()"
    let v163 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v162
    let v164 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v157, v160, v163) v52
    let v165 : Types.std.string.String = method10(v164)
    let v166 : string = "fable_library_rust::String_::fromString(v165)"
    let v167 : string = Fable.Core.RustInterop.emitRustExpr () v166
    let v168 : Types.EmitType<Types.std.string.String> = method1(v167)
    let v169 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v25 v36
    let v170 : string = (v169).ToString ()
    let v171 : string = "r#\"" + v39 + "\"#"
    let v172 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v171
    let v173 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v172 v42
    let v174 : Types.Ref<Types.regex.Regex> = Fable.Core.RustInterop.emitRustExpr v173 v44
    let v175 : string = method8(v170)
    let v176 : string = "v175.as_str()"
    let v177 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v176
    let v178 : string = method9()
    let v179 : string = "v178.as_str()"
    let v180 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v179
    let v181 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v174, v177, v180) v52
    let v182 : Types.std.string.String = method10(v181)
    let v183 : string = "fable_library_rust::String_::fromString(v182)"
    let v184 : string = Fable.Core.RustInterop.emitRustExpr () v183
    let v185 : string = "r#\"" + v57 + "\"#"
    let v186 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v185
    let v187 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v186 v42
    let v188 : Types.Ref<Types.regex.Regex> = Fable.Core.RustInterop.emitRustExpr v187 v44
    let v189 : string = method8(v184)
    let v190 : string = "v189.as_str()"
    let v191 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v190
    let v192 : string = method11()
    let v193 : string = "v192.as_str()"
    let v194 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v193
    let v195 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v188, v191, v194) v52
    let v196 : Types.std.string.String = method10(v195)
    let v197 : string = "fable_library_rust::String_::fromString(v196)"
    let v198 : string = Fable.Core.RustInterop.emitRustExpr () v197
    let v199 : string = "r#\"" + v72 + "\"#"
    let v200 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v199
    let v201 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v200 v42
    let v202 : Types.Ref<Types.regex.Regex> = Fable.Core.RustInterop.emitRustExpr v201 v44
    let v203 : string = method8(v198)
    let v204 : string = "v203.as_str()"
    let v205 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v204
    let v206 : string = method12()
    let v207 : string = "v206.as_str()"
    let v208 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v207
    let v209 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v202, v205, v208) v52
    let v210 : Types.std.string.String = method10(v209)
    let v211 : string = "fable_library_rust::String_::fromString(v210)"
    let v212 : string = Fable.Core.RustInterop.emitRustExpr () v211
    let v213 : string = "r#\"" + v87 + "\"#"
    let v214 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v213
    let v215 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v214 v42
    let v216 : Types.Ref<Types.regex.Regex> = Fable.Core.RustInterop.emitRustExpr v215 v44
    let v217 : string = method8(v212)
    let v218 : string = "v217.as_str()"
    let v219 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v218
    let v220 : string = method13()
    let v221 : string = "v220.as_str()"
    let v222 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v221
    let v223 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v216, v219, v222) v52
    let v224 : Types.std.string.String = method10(v223)
    let v225 : string = "fable_library_rust::String_::fromString(v224)"
    let v226 : string = Fable.Core.RustInterop.emitRustExpr () v225
    let v227 : Types.EmitType<Types.std.string.String> = method1(v226)
    let v228 : string = "006666"
    let v229 : string = v228.Substring (0, 2)
    let v230 : string = "u8::from_str_radix($0, 16).unwrap()"
    let v231 : uint8 = Fable.Core.RustInterop.emitRustExpr v229 v230
    let v232 : string = v228.Substring (2, 4)
    let v233 : uint8 = Fable.Core.RustInterop.emitRustExpr v232 v230
    let v234 : string = v228.Substring (4, 6)
    let v235 : uint8 = Fable.Core.RustInterop.emitRustExpr v234 v230
    let v236 : string = "colored::Colorize::truecolor(&*$0.to_string(), $1, $2, $3)"
    let v237 : Types.colored.ColoredString = Fable.Core.RustInterop.emitRustExpr struct (v168, v231, v233, v235) v236
    let v238 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v237 v36
    let v239 : string = "385779"
    let v240 : string = v239.Substring (0, 2)
    let v241 : uint8 = Fable.Core.RustInterop.emitRustExpr v240 v230
    let v242 : string = v239.Substring (2, 4)
    let v243 : uint8 = Fable.Core.RustInterop.emitRustExpr v242 v230
    let v244 : string = v239.Substring (4, 6)
    let v245 : uint8 = Fable.Core.RustInterop.emitRustExpr v244 v230
    let v246 : Types.colored.ColoredString = Fable.Core.RustInterop.emitRustExpr struct (v227, v241, v243, v245) v236
    let v247 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v246 v36
    let v248 : string = $"{v102} {v238} {v247}"
    System.Console.WriteLine v248
    ()
and closure1 () (v0 : Types.rocket.http.uri.Segments<Types.rocket.http.uri.fmt.Path>) : unit =
    let struct (v1 : string, v2 : string, v3 : string, v4 : bool) = method0()
    let v5 : string = "chrono::Utc::now()"
    let v6 : Types.chrono.DateTime<Types.chrono.Utc> = Fable.Core.RustInterop.emitRustExpr () v5
    let v7 : string = "($0).timestamp()"
    let v8 : int64 = Fable.Core.RustInterop.emitRustExpr v6 v7
    let v9 : string = "uri"
    let v10 : Types.EmitType<Types.std.string.String> = method1(v9)
    let v11 : Types.EmitType<Types.std.string.String> = method2(v0)
    let v12 : (Types.EmitType<Types.std.string.String> []) = [|v10; v11|]
    method3(v8, v12)
and method14 (v0 : int64, v1 : (Types.EmitType<Types.std.string.String> [])) : unit =
    let v2 : string = "chrono::Utc::now()"
    let v3 : Types.chrono.DateTime<Types.chrono.Utc> = Fable.Core.RustInterop.emitRustExpr () v2
    let v4 : string = "($0).timestamp()"
    let v5 : int64 = Fable.Core.RustInterop.emitRustExpr v3 v4
    let v6 : int64 = v5 - v0
    let v7 : string = (v6).ToString ()
    let v8 : int32 = 6
    let v9 : string = method4(v8, v7)
    let v10 : string = "rand::random::<u8>()"
    let v11 : uint8 = Fable.Core.RustInterop.emitRustExpr () v10
    let v12 : string = "timestamp"
    let v13 : Types.EmitType<Types.std.string.String> = method1(v12)
    let v14 : Types.EmitType<Types.std.string.String> = method1(v9)
    let v15 : string = "run_id"
    let v16 : Types.EmitType<Types.std.string.String> = method1(v15)
    let v17 : Types.EmitType<Types.std.string.String> = method5(v11)
    let v18 : string = "log_level"
    let v19 : Types.EmitType<Types.std.string.String> = method1(v18)
    let v20 : US0 = US0_1
    let v21 : string = "format!(\"{:?}\", $0)"
    let v22 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v20 v21
    let v23 : Types.EmitType<Types.std.string.String> = method6(v22)
    let v24 : (Types.EmitType<Types.std.string.String> []) = [|v13; v14; v16; v17; v19; v23|]
    let v25 : Types.EmitType<Types.std.string.String> = method7(v24)
    let v26 : string = "> init ()"
    let v27 : Types.EmitType<Types.std.string.String> = method1(v26)
    let v28 : (Types.EmitType<Types.std.string.String> []) = [|v27|]
    let v29 : string = "$0"
    let v30 : Types.Ref<(Types.EmitType<Types.std.string.String> [])> = Fable.Core.RustInterop.emitRustExpr v28 v29
    let v31 : string = "core::ops::Deref::deref(v30)"
    let v32 : Types.Ref<(Types.EmitType<Types.std.string.String> [])> = Fable.Core.RustInterop.emitRustExpr () v31
    let v33 : obj = v32
    let v34 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v33 v21
    let v35 : Types.EmitType<Types.std.string.String> = v34 |> unbox<Types.EmitType<Types.std.string.String>>
    let v36 : string = "format!(\"{}\", $0)"
    let v37 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v35 v36
    let v38 : string = (v37).ToString ()
    let v39 : string = "\"([^\"]+)\", \"([^\"]+)\""
    let v40 : string = "r#\"" + v39 + "\"#"
    let v41 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v40
    let v42 : string = "regex::RegexBuilder::new($0)"
    let v43 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v41 v42
    let v44 : string = "$0.build().unwrap()"
    let v45 : Types.Ref<Types.regex.Regex> = Fable.Core.RustInterop.emitRustExpr v43 v44
    let v46 : string = method8(v38)
    let v47 : string = "v46.as_str()"
    let v48 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v47
    let v49 : string = method9()
    let v50 : string = "v49.as_str()"
    let v51 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v50
    let v52 : string = "$0.replace_all(&$1, $2).to_string()"
    let v53 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v45, v48, v51) v52
    let v54 : Types.std.string.String = method10(v53)
    let v55 : string = "fable_library_rust::String_::fromString(v54)"
    let v56 : string = Fable.Core.RustInterop.emitRustExpr () v55
    let v57 : string = "\\[\"(.*?)\"\\]"
    let v58 : string = "r#\"" + v57 + "\"#"
    let v59 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v58
    let v60 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v59 v42
    let v61 : Types.Ref<Types.regex.Regex> = Fable.Core.RustInterop.emitRustExpr v60 v44
    let v62 : string = method8(v56)
    let v63 : string = "v62.as_str()"
    let v64 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v63
    let v65 : string = method11()
    let v66 : string = "v65.as_str()"
    let v67 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v66
    let v68 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v61, v64, v67) v52
    let v69 : Types.std.string.String = method10(v68)
    let v70 : string = "fable_library_rust::String_::fromString(v69)"
    let v71 : string = Fable.Core.RustInterop.emitRustExpr () v70
    let v72 : string = "\\\\\""
    let v73 : string = "r#\"" + v72 + "\"#"
    let v74 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v73
    let v75 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v74 v42
    let v76 : Types.Ref<Types.regex.Regex> = Fable.Core.RustInterop.emitRustExpr v75 v44
    let v77 : string = method8(v71)
    let v78 : string = "v77.as_str()"
    let v79 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v78
    let v80 : string = method12()
    let v81 : string = "v80.as_str()"
    let v82 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v81
    let v83 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v76, v79, v82) v52
    let v84 : Types.std.string.String = method10(v83)
    let v85 : string = "fable_library_rust::String_::fromString(v84)"
    let v86 : string = Fable.Core.RustInterop.emitRustExpr () v85
    let v87 : string = ", "
    let v88 : string = "r#\"" + v87 + "\"#"
    let v89 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v88
    let v90 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v89 v42
    let v91 : Types.Ref<Types.regex.Regex> = Fable.Core.RustInterop.emitRustExpr v90 v44
    let v92 : string = method8(v86)
    let v93 : string = "v92.as_str()"
    let v94 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v93
    let v95 : string = method13()
    let v96 : string = "v95.as_str()"
    let v97 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v96
    let v98 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v91, v94, v97) v52
    let v99 : Types.std.string.String = method10(v98)
    let v100 : string = "fable_library_rust::String_::fromString(v99)"
    let v101 : string = Fable.Core.RustInterop.emitRustExpr () v100
    let v102 : Types.EmitType<Types.std.string.String> = method1(v101)
    let v103 : string = "$0"
    let v104 : Types.Ref<(Types.EmitType<Types.std.string.String> [])> = Fable.Core.RustInterop.emitRustExpr v1 v103
    let v105 : string = "core::ops::Deref::deref(v104)"
    let v106 : Types.Ref<(Types.EmitType<Types.std.string.String> [])> = Fable.Core.RustInterop.emitRustExpr () v105
    let v107 : obj = v106
    let v108 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v107 v21
    let v109 : Types.EmitType<Types.std.string.String> = v108 |> unbox<Types.EmitType<Types.std.string.String>>
    let v110 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v109 v36
    let v111 : string = (v110).ToString ()
    let v112 : string = "r#\"" + v39 + "\"#"
    let v113 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v112
    let v114 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v113 v42
    let v115 : Types.Ref<Types.regex.Regex> = Fable.Core.RustInterop.emitRustExpr v114 v44
    let v116 : string = method8(v111)
    let v117 : string = "v116.as_str()"
    let v118 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v117
    let v119 : string = method9()
    let v120 : string = "v119.as_str()"
    let v121 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v120
    let v122 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v115, v118, v121) v52
    let v123 : Types.std.string.String = method10(v122)
    let v124 : string = "fable_library_rust::String_::fromString(v123)"
    let v125 : string = Fable.Core.RustInterop.emitRustExpr () v124
    let v126 : string = "r#\"" + v57 + "\"#"
    let v127 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v126
    let v128 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v127 v42
    let v129 : Types.Ref<Types.regex.Regex> = Fable.Core.RustInterop.emitRustExpr v128 v44
    let v130 : string = method8(v125)
    let v131 : string = "v130.as_str()"
    let v132 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v131
    let v133 : string = method11()
    let v134 : string = "v133.as_str()"
    let v135 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v134
    let v136 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v129, v132, v135) v52
    let v137 : Types.std.string.String = method10(v136)
    let v138 : string = "fable_library_rust::String_::fromString(v137)"
    let v139 : string = Fable.Core.RustInterop.emitRustExpr () v138
    let v140 : string = "r#\"" + v72 + "\"#"
    let v141 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v140
    let v142 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v141 v42
    let v143 : Types.Ref<Types.regex.Regex> = Fable.Core.RustInterop.emitRustExpr v142 v44
    let v144 : string = method8(v139)
    let v145 : string = "v144.as_str()"
    let v146 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v145
    let v147 : string = method12()
    let v148 : string = "v147.as_str()"
    let v149 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v148
    let v150 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v143, v146, v149) v52
    let v151 : Types.std.string.String = method10(v150)
    let v152 : string = "fable_library_rust::String_::fromString(v151)"
    let v153 : string = Fable.Core.RustInterop.emitRustExpr () v152
    let v154 : string = "r#\"" + v87 + "\"#"
    let v155 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v154
    let v156 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v155 v42
    let v157 : Types.Ref<Types.regex.Regex> = Fable.Core.RustInterop.emitRustExpr v156 v44
    let v158 : string = method8(v153)
    let v159 : string = "v158.as_str()"
    let v160 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v159
    let v161 : string = method13()
    let v162 : string = "v161.as_str()"
    let v163 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v162
    let v164 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v157, v160, v163) v52
    let v165 : Types.std.string.String = method10(v164)
    let v166 : string = "fable_library_rust::String_::fromString(v165)"
    let v167 : string = Fable.Core.RustInterop.emitRustExpr () v166
    let v168 : Types.EmitType<Types.std.string.String> = method1(v167)
    let v169 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v25 v36
    let v170 : string = (v169).ToString ()
    let v171 : string = "r#\"" + v39 + "\"#"
    let v172 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v171
    let v173 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v172 v42
    let v174 : Types.Ref<Types.regex.Regex> = Fable.Core.RustInterop.emitRustExpr v173 v44
    let v175 : string = method8(v170)
    let v176 : string = "v175.as_str()"
    let v177 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v176
    let v178 : string = method9()
    let v179 : string = "v178.as_str()"
    let v180 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v179
    let v181 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v174, v177, v180) v52
    let v182 : Types.std.string.String = method10(v181)
    let v183 : string = "fable_library_rust::String_::fromString(v182)"
    let v184 : string = Fable.Core.RustInterop.emitRustExpr () v183
    let v185 : string = "r#\"" + v57 + "\"#"
    let v186 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v185
    let v187 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v186 v42
    let v188 : Types.Ref<Types.regex.Regex> = Fable.Core.RustInterop.emitRustExpr v187 v44
    let v189 : string = method8(v184)
    let v190 : string = "v189.as_str()"
    let v191 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v190
    let v192 : string = method11()
    let v193 : string = "v192.as_str()"
    let v194 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v193
    let v195 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v188, v191, v194) v52
    let v196 : Types.std.string.String = method10(v195)
    let v197 : string = "fable_library_rust::String_::fromString(v196)"
    let v198 : string = Fable.Core.RustInterop.emitRustExpr () v197
    let v199 : string = "r#\"" + v72 + "\"#"
    let v200 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v199
    let v201 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v200 v42
    let v202 : Types.Ref<Types.regex.Regex> = Fable.Core.RustInterop.emitRustExpr v201 v44
    let v203 : string = method8(v198)
    let v204 : string = "v203.as_str()"
    let v205 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v204
    let v206 : string = method12()
    let v207 : string = "v206.as_str()"
    let v208 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v207
    let v209 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v202, v205, v208) v52
    let v210 : Types.std.string.String = method10(v209)
    let v211 : string = "fable_library_rust::String_::fromString(v210)"
    let v212 : string = Fable.Core.RustInterop.emitRustExpr () v211
    let v213 : string = "r#\"" + v87 + "\"#"
    let v214 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v213
    let v215 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v214 v42
    let v216 : Types.Ref<Types.regex.Regex> = Fable.Core.RustInterop.emitRustExpr v215 v44
    let v217 : string = method8(v212)
    let v218 : string = "v217.as_str()"
    let v219 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v218
    let v220 : string = method13()
    let v221 : string = "v220.as_str()"
    let v222 : Types.Ref<Types.Str> = Fable.Core.RustInterop.emitRustExpr () v221
    let v223 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v216, v219, v222) v52
    let v224 : Types.std.string.String = method10(v223)
    let v225 : string = "fable_library_rust::String_::fromString(v224)"
    let v226 : string = Fable.Core.RustInterop.emitRustExpr () v225
    let v227 : Types.EmitType<Types.std.string.String> = method1(v226)
    let v228 : string = "666666"
    let v229 : string = v228.Substring (0, 2)
    let v230 : string = "u8::from_str_radix($0, 16).unwrap()"
    let v231 : uint8 = Fable.Core.RustInterop.emitRustExpr v229 v230
    let v232 : string = v228.Substring (2, 4)
    let v233 : uint8 = Fable.Core.RustInterop.emitRustExpr v232 v230
    let v234 : string = v228.Substring (4, 6)
    let v235 : uint8 = Fable.Core.RustInterop.emitRustExpr v234 v230
    let v236 : string = "colored::Colorize::truecolor(&*$0.to_string(), $1, $2, $3)"
    let v237 : Types.colored.ColoredString = Fable.Core.RustInterop.emitRustExpr struct (v168, v231, v233, v235) v236
    let v238 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v237 v36
    let v239 : string = "385779"
    let v240 : string = v239.Substring (0, 2)
    let v241 : uint8 = Fable.Core.RustInterop.emitRustExpr v240 v230
    let v242 : string = v239.Substring (2, 4)
    let v243 : uint8 = Fable.Core.RustInterop.emitRustExpr v242 v230
    let v244 : string = v239.Substring (4, 6)
    let v245 : uint8 = Fable.Core.RustInterop.emitRustExpr v244 v230
    let v246 : Types.colored.ColoredString = Fable.Core.RustInterop.emitRustExpr struct (v227, v241, v243, v245) v236
    let v247 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v246 v36
    let v248 : string = $"{v102} {v238} {v247}"
    System.Console.WriteLine v248
    ()
and closure0 () () : int32 =
    let struct (v0 : string, v1 : string, v2 : string, v3 : bool) = method0()
    let v4 : string = "chrono::Utc::now()"
    let v5 : Types.chrono.DateTime<Types.chrono.Utc> = Fable.Core.RustInterop.emitRustExpr () v4
    let v6 : string = "($0).timestamp()"
    let v7 : int64 = Fable.Core.RustInterop.emitRustExpr v5 v6
    let v8 : string = "#[rocket::get(\"/<uri..>\")]"
    let v9 : string = " async fn proxy("
    let v10 : string = v8 + v9
    let v11 : string = "   uri: rocket::http::uri::Segments<'_, rocket::http::uri::fmt::Path>,"
    let v12 : string = v10 + v11
    let v13 : string = "   client: &rocket::State<reqwest::Client>"
    let v14 : string = v12 + v13
    let v15 : string = " ) -> Result<rocket::response::content::RawHtml<String>, rocket::http::Status> {"
    let v16 : string = v14 + v15
    let v17 : (Types.rocket.http.uri.Segments<Types.rocket.http.uri.fmt.Path> -> unit) = closure1()
    let v18 : string = "   v17(uri.clone());"
    let v19 : string = v16 + v18
    let v20 : string = "   let uri = uri.collect::<Vec<_>>();"
    let v21 : string = v19 + v20
    let v22 : string = "   let uri = uri.join(\"/\");"
    let v23 : string = v21 + v22
    let v24 : string = "   let uri = uri.replace(\":/\", \"://\");"
    let v25 : string = v23 + v24
    let v26 : string = "   let (host_url, url) = uri.split_once('|').unwrap_or((\"\", &uri));"
    let v27 : string = v25 + v26
    let v28 : string = "   let (host_protocol, host_host) = host_url.split_once(\"://\").unwrap_or((\"https\", \"www.github.com\"));"
    let v29 : string = v27 + v28
    let v30 : string = "   let (protocol, suffix) = url.split_once(\"://\").unwrap_or((host_protocol, url));"
    let v31 : string = v29 + v30
    let v32 : string = "   let (host, path) = match (url.split_once(\"://\"), suffix.split_once(\"/\")) {"
    let v33 : string = v31 + v32
    let v34 : string = "     (Some(_), None) if suffix != \"\" => (suffix, \"\"),"
    let v35 : string = v33 + v34
    let v36 : string = "     _ => (host_host, suffix),"
    let v37 : string = v35 + v36
    let v38 : string = "   };"
    let v39 : string = v37 + v38
    let v40 : string = "   let new_url = match path {"
    let v41 : string = v39 + v40
    let v42 : string = "     \"\" => format!(\"{protocol}://{host}\"),"
    let v43 : string = v41 + v42
    let v44 : string = "     _ => format!(\"{protocol}://{host}/{path}\"),"
    let v45 : string = v43 + v44
    let v46 : string = "   };"
    let v47 : string = v45 + v46
    let v48 : string = "   println!(\"uri={uri}; new_url={new_url}; host={host}; path={path}; suffix={suffix}; host_url={host_url}; url={url}; host_host={host_host}; host_protocol={host_protocol}; protocol={protocol}\");"
    let v49 : string = v47 + v48
    let v50 : string = "   let res = client"
    let v51 : string = v49 + v50
    let v52 : string = "     .get(new_url)"
    let v53 : string = v51 + v52
    let v54 : string = "     .send()"
    let v55 : string = v53 + v54
    let v56 : string = "     .await"
    let v57 : string = v55 + v56
    let v58 : string = "     .map_err(|_| rocket::http::Status::NotFound);"
    let v59 : string = v57 + v58
    let v60 : string = "   match res {"
    let v61 : string = v59 + v60
    let v62 : string = "       Ok(res) => {"
    let v63 : string = v61 + v62
    let v64 : string = "           let content = res.text();"
    let v65 : string = v63 + v64
    let v66 : string = "           let content = content.await;"
    let v67 : string = v65 + v66
    let v68 : string = "           let content = content.map_err(|_| rocket::http::Status::InternalServerError);"
    let v69 : string = v67 + v68
    let v70 : string = "           let content = content.unwrap();"
    let v71 : string = v69 + v70
    let v72 : string = "           Ok(rocket::response::content::RawHtml(content))"
    let v73 : string = v71 + v72
    let v74 : string = "       }"
    let v75 : string = v73 + v74
    let v76 : string = "       Err(status) => Err(status),"
    let v77 : string = v75 + v76
    let v78 : string = "   }"
    let v79 : string = v77 + v78
    let v80 : string = "} ()"
    let v81 : string = v79 + v80
    Fable.Core.RustInterop.emitRustExpr () v81
    let v82 : string = "#[rocket::get(\"/file/<file..>\")]"
    let v83 : string = " async fn file("
    let v84 : string = v82 + v83
    let v85 : string = "   file: std::path::PathBuf,"
    let v86 : string = v84 + v85
    let v87 : string = "   client: &rocket::State<reqwest::Client>"
    let v88 : string = v86 + v87
    let v89 : string = " ) -> std::option::Option<rocket::fs::NamedFile> {"
    let v90 : string = v88 + v89
    let v91 : string = "   rocket::fs::NamedFile::open(std::path::Path::new(\"./\").join(file))"
    let v92 : string = v90 + v91
    let v93 : string = "     .await"
    let v94 : string = v92 + v93
    let v95 : string = "     .ok()"
    let v96 : string = v94 + v95
    let v97 : string = "} ()"
    let v98 : string = v96 + v97
    Fable.Core.RustInterop.emitRustExpr () v98
    let v99 : string = "#[rocket::launch]"
    let v100 : string = " fn rocket() -> _ {"
    let v101 : string = v99 + v100
    let v102 : string = "    rocket::build()"
    let v103 : string = v101 + v102
    let v104 : string = "      .manage(reqwest::Client::new())"
    let v105 : string = v103 + v104
    let v106 : string = "      .mount(\"/\", rocket::routes![proxy, file])"
    let v107 : string = v105 + v106
    let v108 : string = "} ()"
    let v109 : string = v107 + v108
    Fable.Core.RustInterop.emitRustExpr () v109
    let v110 : string = "app end"
    let v111 : Types.EmitType<Types.std.string.String> = method1(v110)
    let v112 : string = "???"
    let v113 : Types.EmitType<Types.std.string.String> = method1(v112)
    let v114 : (Types.EmitType<Types.std.string.String> []) = [|v111; v113|]
    method14(v7, v114)
    0
let v0 : (unit -> int32) = closure0()
()
